OK, here is a VERY, VERY ROUGH mockup that is really more of just a proof of concept That I threw together in a few hours
TagSpeak - Tag based TTS program
You can click on one of the buttons at the top and it will present a word cloud (or listing in the case of individual letters) that can be clicked on to create text at the bottom.
As you mouse over the word clouds they rotate and move which *should* make it easier to get to a word with less movement. Clicking on a word or phrase in the cloud concatenates it with the others at the bottom of the page which you can select and have a TTS engine speak (I tested with FoxVox in FireFox). Obviously in a production version you'd simply click a link telling the TTS app to speak it. I've even thought of having a setting that would kick it in after a comma or some other "clue" which would make it more conversational.
Several things to keep in mind
1. This is just a proof of concept not anything approaching a finished app. So bugs, poor performance and general goofiness are to be expected.
2. Everything can "set-able" on a per user basis (rotation, speed, type, size, etc...) so feedback/input on what directions would be of value would be greatly appreciated.
3. The words/phrases can be sized, high-lighted, etc... according to frequency of use
4. The words and letter (as well as diphthongs, etc...) can be in placed in libraries that would allow a user to create their own personalized settings.
5. My thinking is that eventually a user would have the ability to switch between customer phrase libraries as well as augment them with standard stuff (most common three letter words, etc...) that would allow them the ability to pick one's corresponding to a particular social setting or conversation need such work, restaurant, hanging out with friends and so on.
6. The system would track how often a user used certain words and place them into the cloud with a heavier ranking thereby eventually creating a library tailored to that user in terms of word prediction.
By making it browser based they could use it with any device that could use a browser and by allowing them to store their personal libraries locally they wouldn't be dependent on internet access all the time.
I'm thinking that by using crypto libraries (these are ones that list letters most likely to follow "E", or the most common two letter combinations and things like that) I could create clouds that users could jump to very quickly to create sentences. That coupled with the ability to save their own favorite phrases could make it a lot easier for them to quickly build a personalized library unique to their style and way of communicating.
Anyway, like I said, it's a programming exercise I whipped out pretty quickly and if there's enough good suggestions and feedback I'll keep at it and see what can be done to get it into the public domain for free.