Thanks both of you! Very helpful links and resources. I think Citizen Speak is the closest to what I was looking for, though I haven't fully tested it yet. I can't tell if it has the ability to target the message to a particular user's representatives, though. It seems like you just define an email list, and it sends their message to all of those recipients. What I was looking for (this is probably pie in the sky) is the type of functionality you see with software like Convio and the such that takes their address (or at least their zip code) and figures out who their reps. are, and then sends the message to them. Like I said, maybe I'm just not seeing that functionality on Citzen Speak. And I know that it's some pretty advanced functionality to be asking of a free solution.
Anyway, thanks again, I really appreciate the replies and I'll update this thread if I make any more discoveries.