If you've got Growl installed (and if you've had your mac longer than a day - you probably do), then you can use growlnotify to dump messages on your screen.
I use something like this for notifying about broken builds in our continuous integration environment, but on linux with "festival". I don't know if this utility has voices or not, but it works pretty well:
echo Joe Strummer broke the build | festival --tts
edit
That appears to be the newest version of the docs. You can select voices by calling the function (voice_voicename) in interactive mode. So something like this works:
echo -e "(voice_nitech_us_rms_arctic_hts)\n(SayText \"this is a sentence\")" | festival
On Fedora, I had to install the festvox- packages to get other voices.
This idea is both cute and useful. I frequently run a deployment script and switch to another window (e.g. HN) only to forget about the deployment. I will definitely be using this.
I use it in long running scripts (like deploys).