great ideas here, and one i'd like to mention - altho im not sure if it's possible, is adding a division between karma and reputation.
for example stealing, sure it'd give you a negative karma but that's more of your personal values while reputation would be for the town/city/faction.