Firefox does this cool wifi scanning thing to get the most accurate location. It's really accurate (and I cache it, so I only have to do it once), but I don't think there's any way around taking a few seconds to determine your location.
Good point about the psychology. I was worried that playing up the competitive aspect could annoy users ("You want me to compete for your benefit?!") and was trying to walk a bit of a fine line ... I think I'll be a bit more comfortable with that approach after we get some regular users and see how they use the site.
Agreed that you definitely want to be careful about acting on any psychological theories up front. Observation of real users is the ticket.