Reducing power consumption

I would prototype the system on Arduino and then migrate it to a stripboard design. That way, you can leave out the USB/serial chip and anything else you don't need. Also, you can choose to run the mcu at a lower frequency than 16MHz to save power.

I'd use one of the mcu sleep modes rather than turn off power to the mcu.

To derive +5v (or +3.3v to save power) from 9v to power the mcu, get a voltage regulator with low ground current, for example LP2950CZ-5.0 or TS2950CT.