I like the idea of ranks, but also being able to assign negative ranks. Liberal uses of circumstance modifiers also help...
Here is an example:
14 wealth - the town is very prosperous, Robert the Baron has many fields of tobacco that merchants all over the world from as far away as Kalamar come to buy since it's the best. The town boasts several large temples of the Parrish of the Prolific Coin (Kalamar merchant god), of which Robert is a high ranking member. The local hotel and tavern are first rate (owned by Robert), and the Mayor (Roberts brother) is always available to listen to ideas from travelers about improving the town. They also have managed to keep all the slave laborers in their own section of town and daily they clean the streets of beggers so as not to offend the merchants.
Now lets say you want to make a roll to see whether or not you can offload a pouch full of expensive gems in this town. You might say that since many rich people are in town they get 2 ranks to this skill and the town has +2 wealth. So you roll a d20 and add 4 and if they get DC10 then there exists a person or people in town who are willing to buy it. DC would probably change based on value of gems, etc.
On the other hand lets say that they're bandits who just stole a wagonload of non-magical candles and they want to sneak into the slave section of town to sell them. Figuring slaves don't have much money to spend and they're probably given nessecties you'd give individual citizen wealth -4 ranks. They roll d20 and subtract 2 and say the DC is 10 again for whether or not someone exists in this area who wants to buy some candles.
It'd be hard to make up a system, but a wise and fair DM (hopefully me) could create and assign stats at a whim. For instance if the players wanted to make street lights in the upper class area of town and they taxed everyone in order to pay for it you could quickly make up two skills of Loyalty: upper class, and Loyalty: lower class and give +1 and -1 respectively. If the stat loyalty is 16 it probably dosen't cause problems, but if it's 10 now you're running the risk of the lower class getting upset.