Horizon leveling would be a good thing if it would save the original "crooked" shot along with the "fixed" shot, the same way the "my colours" option does. Without the original shot, part of the shot would be cropped out by the camera never to be seen again (what if there was a UFO on the corner of your picture of grandma sunbathing topless on the beach LOL) As for leveling the horizon before taking the shot, it would only be good if the camera didn't constantly show you a straightened result, but only when it detects a pre-programmed "template" in it's memory that looks like a typical landscape. Also, obviously it would have to be something you can turn off in your settings because it could be annoying for some users, especially if you're hand holding the camera.
I'm not sure if this already exists, but I was thinking of an in-camera gps that would save the info in the exif. It would be useful for geocaching, for use in google earth, or handheld and in-car gps devices.
Rob