I had the same request...
Matthias really helped me out. The code he posted (and I adapted for my project) is herehttp://gonium.net/md/2006/12/27/i-will-think-before-i-code/
It's not technically a "sleep" state, but it's relatively low power, and then a timer interrupt is used to run a function at regular intervals.
Have a look at the code, I'd be happy to try to answer any questions using my limited experience.
Note the code is for ATMega8, some of the register names would need to be changed to get it working with a Mega168