Probably by numbers of turns, yes. Just as the positive modifier of "we have recently traded" diminishs over time.
But I hope (and I am pretty sure) it will last longer than the standard 30 turns of trade agreements. Without having thought through it, I feel that at least 90 turns might be a reasonable turn count until the negative modifier for a DOW disappeared.
I say up to 90 turns should be plenty. There should be other diplomacy factors governing declaring war. If someone asks you to declare war against an enemy of theirs, you should get a diplo penalty with them and their friends. So should the civ that has asked you to declare war. Also, you should get worse penalty if they have a DoF with those civs. Even harsher diplo penalties, if that civ is in a defensive pact, or ally with the civ you are DoWing against.
In other words instead of making this worldwide warmonger penalty that lasts forever. Let the penalties be situational. This way a group of civs will be upset at another group and vice versa, until things smooth over, if things smooth over. The harsher the penalty the longer it lasts. But none should last for more than 90 turns. I think like you suggested, that is a good number for the harshest penalties.
As for conquering CSs. If you take on a quest to destroy a City State another CS is in a dispute with, you should only get a warmonger penalty from a civ who is allied with that CS you are quested to destroy. Or any civ that has pledged to protect that CS. And a smaller penalty from that allied civs friends, DoFs, Allies, and defense pact partners.
Maybe one of my examples could shed some light on my idea.
I am Arabia. Florence asks me to destroy Bucharest. I decide to do this, but looking at Bucharest I notice that they are allied with Rome. So when I attack I end up at war with Rome.
Attacking CS that has an ally or a pledge to protect agreement= 90 turn warmonger penalty against DoW civ.
Civs with alliance/defense pact with ally/pledge to protect of CS= 90 turn warmonger penalty against DoW civ.
Civs with signed DoF with that allied/pledge to protect civ= 80 turn warmonger penalty against DoW civ.
Civs friendly with allied/pledge to protect civ= 50 turn warmonger penalty aganst DoW civ.
I was thinking that civs that have a pledge to protect treaty with the CS being attacked could give a slightly less warmonger penalty to the agressor civ. Perhaps 80 or 60 turns. The ally of the CS should be more important in this regard.
Any civ guarded or neutral to the allied civ has no effect and gives no warmonger penalty to the aggressor. If any civ named has any similar contract with agressing civ. Those civs do not give the civ declaring war a warmonger penalty. So if the Allied civ and the civ who declares war are have both signed a DoF with England. The civ declaring war gets no warmonger penalty from England. Of course England could turn around and side with either civ allied with the CS or the agressor civ, and denounce, or declare war.
Attacking CS protected by a civ or civs pledged to protect it= 60-80 turn warmonger penalty. and so on.
The same could be applied to a civ declaring war on another civ. I call this a situational diplomacy system. I think it could work quite well.
