I (and apparently jimfer) like the idea of local reputations.
It's a simple concept, that may not be easy to explain, so bear with me if I'm not appearing to make sense.
Every community in the game, will have a reputation score for each player (yeah, I know, it's a damn big table). Actions players take will have an instantaneous effect on the score in their local community (breaking contracts, helping out caravans, supplying desperately needed foodstuffs, whatever). The complicated bit, is where we then have those reputations 'ripple' out from where they occurred. Basically, we then have another (large) table which determines the effect the reputation score in each location affects that in the others, which will be based on things like distance and ease of travel between them. This, then, gets applied at every (daily) update. Also, reputations will tend to decay back to 0 (neutral) over time.
What does this mean? Well, simply put, you can outrun a bad reputation. It should catch up with you eventually, unless of course, you perform good works to counteract it (or it just isn't very bad). Theoretically, depending upon the variables we use, it might be possible to run both a good reputation in one locale, and a bad one in another, although if we decide to allow this, it should be hard.
Now, obviously we have your reputation affect how NPCs interact with your character. The prices you get, the amount any law enforcement harass you, etc. Also, we let players check the local reputation of any players they are interacting with (and I mean the location of the player making the check), in order that they can decide how to react and whether to form contracts, and the like.
So, what do the rest of you think?