Although I've never owned a phone that had this feature, I've always wished my iPhone could speak the callers name during or as it's ringtone. Of course this is just another feature missing, but luckily Frederico over at
www.macosxhints.com submitted an Apple Script that will speak the name of your contact and place it before or after your ringtone.
Check it out here: http://www.macosxhints.com/article.php?story=20090624142606298
The basic idea is to run this for all your contacts, creating a unique rintone for each (so really this is a hack).
Regardless it works great! Another user has already submitted a modified script that allows you to place a ringtone before AND after the name.
I want to play with it a bit and have it fade the ringtone and place say the name over the tone. If I succeed then I'll be sure to post and upload!