I decided to give this a try in applescript even though I'm pretty new to it. Here's what I came up with (note: NOT FUNCTIONING):
http://eliot.bambi.net/dump/hacks/osx/G ... -alpha.zip
I can't find a mechanism with which Hazel can pass stuff (like strings for description text) to a script, so I had to make a script for each type of notification. They all share the same growl library but contain different strings.
When run normally, these scripts behave fine. For some reason, when invoked by Hazel, nothing happens.
This is a poor solution anyway (not quite as bad as, say, using a shell script to invoke growlnotify) but I figured I'd post it in case anyone wanted to tinker.
P.S., if you plan on running these make sure that the scriptdir property is set to the correct location for GrowlNotify.scpt (defaults to ~/Dev/scripts)