Have you considered just running everything on 3.3V? I designed a data logger that runs on 2xAA cells and uses an MCP1640 boost regulator, that when not enabled, simply passes the battery voltage straight through. The logging cycle is: Wake up (via RTC interrupt), enable boost regulator, increase system clock speed to 8MHz, power sensors on, take readings, save data, program next wake time, power sensors off, reduce clock to 1MHz, disable boost regulator, go to sleep. Using 1MHz allows the MCU to operate down to 1.8V when running on battery voltage, but while reading sensors and saving data, everything runs on the regulated voltage.
The regulator can be configured to supply either 3.3V or 5V; exclusive of sensor requirements, everything else on the board is equally happy with either but of course 3.3V will provide better battery life. Sleep current is only a few microamps. It uses EEPROM for logging memory (hence the 512kB limitation). I've thought about redesigning it with an SD card but that's a low priority project.
For ultra low-power projects, I've found that voltage regulators in general (boost or buck) use too much power. Instead, I go with using 3-4 batteries and a diode to drop the voltage a bit and to protect the circuit from batteries being inserted the wrong way. The goal is to put the circuit slightly above the rated voltage with fresh batteries. For example, I commonly have ATmega8 projects running at 5.5 volts with fresh batteries. Sure, out of spec a bit, but I've never had anything blow up, even with 6 volts. Same goes with a 3.3V system, 3 batteries with a diode.
By taking out the voltage regulator, you really can create a system that uses 1uA when the ATmega8 is in sleep mode. Sure, you use an extra batter or two. But batteries are cheap and you can design systems that can log or interact for SEVERAL years. I have a few projects that draw less current than the battery looses just sitting on the shelf with nothing connected. You need to shut everything down, even the brown-out detector. If you need my ultra low-power code, write me, I'll probably eventually make it into a library.
My typical ultra-low power project will put the ATmega8 in almost total sleep (just waiting for a trigger pin or timer). I typically attach an LED that blinks every minute so you know it's still working. The trick with the LED to use the least amount of power is to use a very bright LED, use a larger resistor to limit the current to maybe 1mA, and use the built-in sleep of the ATmega8 for the time the LED is on. In other words, turn on the LED (only using 1mA) put the ATmega8 to sleep for 15ms, wake back up, turn off the LED, then return to long sleep. This uses less power because it's only using 1mA for 15ms instead of leaving the ATmega8 awake for 5ms during a shorter blink and consuming more than 10mA. The little things add up, and I'm a bit of a current Nazi.
Also, I would not suggest reducing the clock speed to 1MHz. I've found you'll use more power at 1MHz than at 8MHz. The reason is first there's not much of a power savings from 8MHz to 1MHz, and secondly your code takes 8 times as long to run. The end result is you actually use a lot more power at 1MHz. 16MHz would be slightly more efficient, but then you need external crystal/caps which raises component cost/complexity. So, I typically use the internal 8MHz oscillator. Makes it easy, cheap, and more energy efficient than 1MHz.
Keep in mind that I've spent hundreds of hours developing ultra low-powered systems. I've measured the actual current used and calculated everything to the nth degree. In other words, I'm not guessing what I'm saying is true, I've done it, countless times. The ATmega8 is a VERY good platform if low power is the goal. Also, I'm talking about using a ATmega8 chip and a custom circuit, not an Arduino, which will never work in an ultra low-power system.
Tim