This turned out to be easy using Growl and the growlnotify utility. By creating the note as sticky (using the -s option) and giving it an identifier (using the -d option), the notification will stay on screen and can be updated periodically as desired.
The Installer package for growlnotify is in the growlnotify folder in the Extras folder on the Growl disk image. A demonstration script (this assumes that growlnotify is installed in /usr/local/bin; more interesting code would replace the sleep commands, obviously):
#! /bin/bash # open a new sticky growl notification with the designator 'note' /usr/local/bin/growlnotify -d note -s 'Begin the Beguine' sleep 10 # update notification 'note' /usr/local/bin/growlnotify -d note -s 'Still doing that "Beguine" thing...' sleep 10 # update notification 'note' again /usr/local/bin/growlnotify -d note -s -m "beguiners can't be choosers." 'Beguine, Beguine, Beguine... ' sleep 10 # update notification 'note', again, and remove stickiness so it disappears /usr/local/bin/growlnotify -d note "Eh. I'm over it.'"
[crarko adds: I tested this, and it works as described.]

