I think it's kind of ridiculous that a merchant can just appear out of thin air anywhere in your territory:
"Yo Bilkins, we need some ceder longbows before we attack that fire-breathing cave drake over there!"
Bilkins: "no problem, the merchant is standing right behind you, and there's another one by that rock about 20 feet back, there was also one by the fig tree, the alligator swamp 200 yards north, on that mountain top over there, by the coast 6 miles back, near that rift over there .. I also have one in my back pocket, all I got to do is pull him out and he's here already, wallah!"
Sorry, being able to access a merchant or item store from anywhere in your territory is just ridiculous to me & takes away from the game. In fact, I think item shops should only be available in towns where a merchant building has been constructed, no merchant, no access to goods.
You can sign a non-aggression pact and enter other AI lands. Being able to stroll next to an AI capital with an uber stack without declaring war and just sneak attack it would simply make the game unplayable .. the AI is already a military pushover, why excacerbate this?
Adjusting treaty lengths is a good idea. I've never had a problem breaking a treaty by declaring war. I don't see anything wrong with keeping players to their agreements.