WARNING: PURE MUSING AND LITTLE SCIENCE. IT'S LATE SO THIS IS PROBABLY RIDDLED WITH ERRORS.
Why not make the batteries last longer? There are three ways I can think of to approach this problem. First, we can make the data recorder beacons draw less power. Unless we assume that the beacons aren't very efficient, the only real way to get more broadcast time is to weaken the signal; it's straight physics. Making the recorders harder to find would at the very least offset any gains from making the broadcast longer. They already aren't specced to reach the surface from the depths of the sea floor in the primary MH370 search area, so reducing the signal strength would reduce the areas of ocean where the FDR would be findable or significantly increase the difficulty and cost to do so.
Second, we could have the batteries last longer. Absent a significant change in battery technology, the only really feasible way to do this to make the batteries bigger. The question then becomes 'how much bigger?' On top of that, there are many factors that have to be taken into account. Every kilogram that we make the recorders heavier means additional fuel burn (space likely isn't a problem directly) on every single flight taken by every aircraft carrying one. Although that doesn't sound like a lot, let's multiply it out.
Let's take some notional data. One performance chart for the Boeing 777-200 - same basic model as MH370 - states that the delta for fuel burn between a 'low' cargo weight and a 'high' cargo weight - a difference of 12 tons - is 2,962 Kg of fuel on a London-Dubai route. Jet-A is approximately 0.81 Kg/liter, so that means it's 1.23 liters/kg. So, 12 metric ton cargo weight differential results in a 2.962 metric ton difference in fuel consumption. Thus, 12000 / 2962 = ~4.05 Kg cargo/Kg fuel, or 0.247 Kg of fuel burn per Kg. of cargo. 0.247 Kg / 0.81 Kg/liter = 0.305 liters of additional fuel burn per Kg. of additional weight carried. That doesn't sound so bad. Jet-A this month is averaging about $5.48/gallon; since there are 3.79 liters/gallon that means $5.48/3.79 = right around $1.45/liter of Jet-A, and that means that our notional kilogram of additional weight is going to cost us around 0.305 * $1.45 = 44 cents per Kg of cargo weight. That sounds like a steal! So adding a Kg. of battery will cost somewhere within an order of magnitude of $0.50 per flight.
How much does the battery weigh? Hm. Teledyne Benthos, one manufacturer of pingers for flight data recorders, states that the beacon itself weighs a maximum of 190 grams. That's not a lot! Let's say that 100 grams of that is battery weight. So one tenth of a kilogram. Doubling the battery would add 0.1 kg, or 5 cents per flight. Again, not a lot! We'll totally punt the cost of the bigger unit. The ELP-362D seems to cost approximately $3,000.00 US. The batteries last 7 years, so figure it costs approximately $150/year for the battery. Even if we double that, we're looking at $0.50/day for the battery - which is an order of magnitude more expensive than the fuel cost of doubling the battery via straight mass increase.
I have to be honest, I hadn't realized how negligible that cost difference would be. Okay, that doesn't seem like much of a barrier. But again, multiply it out. We're talking $0.50/day for every aircraft in the fleet for these bigger batteries. How many are there? Uh, well, American Airlines, the world's biggest, appears to have around 1500 jetliners. So we're talking $750/day for this increased battery capacity across the fleet. Now, how many airliners are lost where this capacity makes a difference? Realistically, in the past few years, there have been *two* - Air France 447 and Malaysian MH370. Air France is actually not necessarily countable, because the aircraft was found two years later - because good position data was available on where it was lost, and they found wreckage to confirm that data, rather than finding the black box beacon. So really, in the past 30 years, if you take only those crashes where the FDR was lost at sea and not located presumably due to the beacon malfunctioning or not lasting long enough, you get...really, two. AF 447 and MH 370. All the others were situations where the location of the crash was known but other circumstances prevented finding the FDR (in some cases, the aircraft were destroyed by explosion, and the FDR likely didn't function).
So let's say 15 years in between incidents where this would be relevant. 15 years, at $750/day for American Airlines alone, and you get $4,106,250. For one airline. That's quite a bit of money. Just for the heck of it, add in the $0.05/flight for the increased weight, and end up with $150/day assuming two flights per day per aircraft. So another million, nearly. The top ten airlines by fleet size have approximately 7,000 aircraft among them. This probably is less than half the total fleet size.
A third option - we could modify the FDRs to ping at intervals, conserving their battery. Let's say we had them broadcast 50% of the time (or increased the interval between pings by 100%). Let's ignore the problems that would cause in having to have slower search patterns, and assume that's not an issue. That might improve things. But the signal pulses are already roughly 1 per second. Much longer, and noise makes it harder to identify them. But it's probably still the best option.
Note, this completely punts the costs of redesigning the units, of testing and certifying them, and of the cost to replace the current fleet equipment.
UPDATE: At least one standard ELP, the Teledyne Benthos I reference above, in fact has a 90-day battery option, and doesn't mention any difference in weight. This leads me to believe that the difference is purely in cost. There may be aircraft out there with 90-day battery FDR ELPs right now. The minimum required is 30 days, I believe.