Is there a way I can set a different default printer for each network location?
Sidekick will let you do this.
("Disclaimer:" I was a beta tester for the new version, but also a paying customer. Otherwise un-affiliated with them.)
I'm using Control Plane. It's a rewrite of Marco Polo.
It can change the default printer based on your location or other rules. You can also write your own rules, if you want/need.
Try using Marco Polo (available here). It has some flexible rule matching to detect which network you are connected to and then fire off some actions. One of the actions is to set the default printer.
Sadly, it currently looks unsupported. The WiFi network input doesn't work under Snow Leopard or Lion. You might still be able to get other inputs to discriminate among locations, however.
LocationX used to be able to do this, it hasn't been updated in a long time though so no idea whether it'll work on 10.6 or 10.7.