I had a friend who had both 04 and 06 WRX. The 04 has sh*tty mpg (20-23). The 06 has better (23-26), but still not good mpg. But the other thing he told me was that if you get a ECU reflash / Rom tune, you can get a couple of mpg (they run rich as hell).
If you do not mind the look too much, I would say get the 06 because bigger displacement with better gas mileage, bigger and better brake (4 pot front, 2 pot rear).