Second of all, make some sort of alarms and puzzles when unlocking chests and safes. Being able to steal everything in under 30 minutes is not fun. Make thieving a challenging art not a click fest.
Third, make stolen items stay stolen and not resettable in their containers. Those poor ninja thieves in the bars will lose their jobs. You can also make them sell better thieving gear and picks for unlocking various locks. Maybe even ropes to climb buildings and avoid the front door.
Make different floor materials. For example, if I walk on wood there would be a chance it will squeak if I carry too many items and it will wake the guards/owner.
Make the trading distance 1 meter. I can't stress enough how much of an exploit this is. Leaving an animal outside the building and stuffing things onto him from the inside is lame. This will make players invest in a squad of thieves to work from the inside to help each other carry the stuff. Maybe even cooperate to open complex puzzle safes.
For a desolated world these traders have a lot of stuff. I believe their items should be scarce to provoke the player to trade more between cities and to produce more items/resources for those cities as well. While we are on this matter, make faction relations grow based on trade.
One other important thing: make the all doors automatically close after 30 seconds, unless you deliberately set them to stay open via button option of your own buildings. This will make good thieves trap if they run out of time and they have to rush out. They will also have to unlock it from the inside. This, of course, would happen during night time.
With all the power these cities have, why not invent a buildable transportation method between them? Like a small train, where you have to speak with the leaders of the cities to get permission to build the tracks between them and their neighbors. So many possibilities here.
Make harsh punishments for thieves. If a thief is caught 2 times by the same nation, they will cut an arm/leg. The 3rd time they will hang you or boil you to death. This will make thieves careful about their decisions where to strike. There could also be a cool down timer to reset the chances (100 days).
Also, would be nice to have to pickpocket for some extra cats and various small/cheap items/food people carry.
Being in the thieves guild should also unlock new benefits, such as escape routes in the city that will be unlocked once you become more renowned with the thieves faction. I also think that getting into a city should be based on reputation with a faction. The more reputation you get, the further into the city you are allowed by guards. Or in the case of the thieves, there could be hidden entrances they can find into a dangerous area of the city, where they will be killed on sight for trespassing at night (at day it would be suicide).
Thieving can come in handy into ruins as well. Complex puzzles will be easier to unlock by a skilled thief and the spiders won't trigger to kill him/her. A good way to sneak past them is to climb the ceiling with special equipment. Of course, since they are spiders they can chase you on the ceiling as well if they detect you.
Would be nice to have night goggles to see in the dark and be able to turn off lights or torches. And a thief needs a blackjack to knock out guards near expensive loot/safes. Maybe even throw a cat/coin on the floor to distract a nearby NPC (45 seconds cooldown). Who doesn't go for free money on the ground!?
The shadow system needs more work. I mean guards can wake up and see me in total darkness even when I don't move, I think that is a bit too much. Of course, if the moonlight comes out of the clouds outside and makes more light, then I would agree with this logic.
There is a lot to process here, but thieving is not an easy thing to achieve and should never be shallow. Learn from the best and make the impossible -> possible today