Hi Tim,
I'm the one who emailed you about this and have been looking into it. FreeTTS would be great, but unfortunately REQUIRES java1.4, which is apparently unavailable on the Z. (at least on my 5000d) That leaves us with flite.
The SPOKEN author managed to get flite working quite well, and I've contacted him. He hasn't released his source to the public yet, (and I don't really want to push him into it,) but he did tell me that he ended up feeding the engine one sentence at a time, and actually restarting after each sentence. The only problem with SPOKEN is that it is no longer in development and only accepts plain text. Marrying the remarkable cababilities of QTReader to obtain plain text from a number of formats, to the flite engine as in SPOKEN would be ideal.