A lot of behavior-related issues, particularly in the trading arena, come down to accountability. One way to increase accountability might be to collect and display city for each user, along with state. People will be less likely to behave badly if they know others from their local community (who they very well may encounter in person at a local event) might be watching, and others will be more likely to help police if the reputation of their local community is on the line. Don't know if this has come up before, but if not, something that might be worth considering. (Thanks @F2brewers!)
City isn't an option, nor will it be anytime soon. We did support it years ago, however, it was subject to a lot of abuse by people who used it for other purposes. Basically, there's no way for us to verify this field or enforce that it's used properly ... and it's the last thing mods need to worry about. We've been looking at zipcode for US members, however, there's no way for us to verify that it's the user's actual zipcode. Same applies to our current US state/province and country fields.
Hm...well, between MaxMind and Google, there's a lot more machine-readable geographical info out there than there used to be. For city or zip code, maybe make it optional, and then require that if supplied it be within a specified distance of the location returned by GeoIP at the time it's set? I know there are definitely issues, but just looking for a way to improve accountability and make it a net positive for all.