I think the idea of using prizes to try to spur innovation is a promising idea, but I'm not quite sure why John McCain's decided that a better battery for an electric car is the thing to offer the prize for. Electric vehicles would be good from an environmental perspective, but insofar as so much of our electricity comes from fossil fuels car electrification also has a large element of just pushing the problem around. The thing to offer the prize for is either some kind of clean electricity breakthrough, some kind of carbon scrubbing or sequestration technology, or maybe something to make nuclear waste disappear.
Also, if McCain's cap-and-trade plan involved auctioning the permits (the way Barack Obama's does) then it could raise money for these prize schemes. Something he might want to think about.
On top of all that, $300 million seems preposterously low. A good electric car battery would earn you way more money than that in the course of things. For a prize to make sense, the scale of the prize needs to be large relative to the potential profitability of the invention.