Several people have worked on adding text to speech synthesizers to rockbox:
http://www.rockbox.org/wiki/TTSInCore
Unfortunately, theres not really any good embedded programs out there, so most of them have eventually gotten stuck with either optimizations or fitting into the limited memory available on small portable devices. Of course with more work this is certainly possible to overcome.