Of course, cpu speed isn't the only variable. Whether or not you can speed up the bus and memory access, also factors in.
Another, more useful variation, would be to severely underclock at times to save more power.
There are several such utilities for WM phones. You can set which apps get what speed, and/or set speeds for different cpu loads.
For example, you can specify that SlingPlayer gets boosted to 440 MHz on a normally 390 MHz system. But other, simpler apps, drop to 100 MHz.
This can give many more hours of extra operation.