I have to confess that I'm not a great fan of voice mail. The person calling expects to get you live and hasn't had an opportunity to think through what they are going to say when confronted with "please leave a message". Too often the result is a ramble – minimum content in maximum number of words!
Services like Spinvox will take your voice mail, run it through a speech recognition engine and email you the results. It's a start I guess.
Driving round the Valley today playing telephone tag I had an idea – why not a service where you can leave a message for a specific caller? The service would look up the incoming caller id and see whether a message has been left for the caller. If a message is found it get played for the caller otherwise just behaves like a regular voice mail system. I think some of the PBX vendors like Avaya have this in their voice mail servers but with VoIP, who needs the PBX?
I'm tempted to put up an Asterisk server and program the functionality myself – just a simple matter of programming! Hard to see this as a standalone company as it feels more like a feature than a business… but it sure would be useful!