I wrote a free widget for switching HTTP, FTP or HTTPS proxies, and it currently works for Ethernet or AirPort networks.
The widget is basically a front end for a bash script, which does the hard work. I also had to write an Objective C tool for parsing of current configuration information. It is all free, so if somebody would like to see the source, just let me know.
[robg adds: I haven't tried this one.]
Mac OS X Hints
http://hints.macworld.com/article.php?story=20081212060418421