So, in doing some investigation, it's clear that there are two ways that I can get my phone to give me the information that I need.
As always, one of these ways is more open to generalization and requires more effort - the other way is a quick hack that will probably work and will only work for this particular application.
As usual, I'm going to code both methods, starting with the hack.
So - the hack: I connect to WiFi networks in both my home and workplace automatically when my phone gets in range. Once this connection occurs, I'll set a bit on my home webserver that tells it what SSID I'm connected to, then I'll issue the appropriate GET and POST commands, and do some XML magic (which I haven't figured out yet) to tell Google Voice where I am, and have it ring the appropriate number.
Sounds easy - now I just need to learn PHP and Cocoa and Objective C.
The more complicated and more generalizable method will involve more HTTP server code to create an interface to geotag locations and have the phone let it know when I get within a certain distance of the them - either by automatically running as a background process - by pushing requests to the phone via APC, or by invoking it manually.. that part will be fun. :)