The problem with reducing the penalty when you're the one being DoW is that it's easy to provoke the AI to attack you. You want Genoa and Ife located on the fringe of your territory? Piss off Alexander, which is easy, and seize the CS. Very easy to exploit (especially since the protectors of CS are often located on the other side of the map from them and getting DoWed by them isn't a big deal), and it defeats the purpose of including them in the warmongering penalty system , which is largely because they are a key part of the Diplo Victory (not that bringing diplo contenders to wage liberation wars to win couldn't be cool), beside being a feature important to the performance of many civs (Venice, Germany, Greece, Siam, Austria, Portugal etc.). There are already Venice and Austria in the game to reduce the # of CS and encourage the player to stop them. Competition over alliances with them and protecting them are also motives for conflicts, and removing the CS undemine this in time. The Mongol UA is IMO more there to counter the strategies of players relying a lot on CS allies, making dealing with the Mongols a priority if they go on a CS-killing spree, or encouraging them to wage liberation wars since the Mongols can't permanently remove a CS, unlike Venice and Austria for which it's limited (esp. Venice, who has to produce MoVs). The human player can also use the Mongol UA, but he has to play it like the AI Mongols now: being hated by everyone and the CS.
CS also provide major bonuses to the player and, up to the mid game and sometimes beyond, to the AI. It there was no cost to removing them from the game, it would be easy to do it and the AI civs would be even less a challenge. It would also seriously undermine Patronage as you could lose too much of its benefits during the game.
You can already do that by killing the units of the CS. It shouldn't recover before your other war is over. You can also pillage its luxuries and resources, which deprive its ally of them for a good deal of time (the CS will have to produce a worker and units and might well prioritize its defense units first, and you can't gift it money to repair a resource).
It would be cool to have the ability to liberate any captured city at any time, but only if you lost the liberation bonus or most of it if you don't liberate right after capture.
Why? Because it would be all too easy again to exploit. It would become the "take a CS during your wars to clean your warmongering slate as soon as you sign peace" exploit.
Imagine this: you steam roll Ramses' 6 cities in the late game. The ones give only minor penalties on big maps, the last one has a severe penalty for wiping out a Civ. Then you end the war and liberate the least valuable of the six cities and you get a) all Ramses's delegates for WC, b) a HUGE diplo bonus for resurrecting a civ that would cancel the penalty for taking him out in the first place. Capture and liberate a CS ally in the same war and you'd get out of it white as snow.