Apple's newer portables now have a feature called "Safe Sleep" which is similar to "Hibernation" mode on Windows computers. Andrew Escobar has a page detailing how to enable this mode for some older portables. I tried it out recently on my 12" PowerBook, and I'd like to tell you a little about how it works. (More after the jump.)
First let me explain exactly what Safe Sleep is. Normally when you put a Mac to sleep, it turns off all unnecessary components such as the screen and hard disk and only maintains enough power to preserve the contents of memory. This uses much less power than running the computer normally, but still consumes enough power so that your battery would drain completely if you were to leave your computer in sleep mode for a day or two. And if your computer were to lose power, the contents of memory would be lost and you would have to restart your computer.
Safe sleep is a bit different. When you put your computer to sleep, it saves the contents of memory to the hard disk in addition to powering down unnecessary components. If you wake up your computer normally, it will wake as usual. But if your computer should lose power while in sleep mode, the next time you power up your computer it will read the information stored on the hard disk and restore it to memory, allowing you to start using your computer where you left off. Using safe sleep does make sleeping and waking up take somewhat longer, but you don't risk losing your data.
It also allows computers like the 12" PowerBook and the iBook to "hot-swap" batteries (change batteries without shutting down and restarting). That was the main reason I wanted to try it on my 12" PowerBook. While other PowerBook models have a small battery that gives you a couple of minutes to change batteries while in sleep mode, the 12" PowerBook will immediately die if you remove the battery while not connected to AC power. With safe sleep enabled, you can switch batteries with no problem. So far, I'm very happy with how it works. It makes my extra battery actually useful.
If you have a compatible model (you can see the comments on Andrew's page to see if anyone has tried it on your model) just follow the instructions. It just entails entering a few commands in the Terminal and restarting. While this is not supported by Apple, I haven't had any problems so far.