I used this strategy all the time in RTW, it might work in MTW2 as well.

If you've breached a wall at multiple locations, first rush two, maybe three units of your crappy spearmen into the streets at the leftmost or rightmost breech.
Put them in guard mode, and wait till the enemy sends their superior infantry to attack them.
Then send your heavy cavalry through one of the other breeches, and attack the enemy infantry in their back.

As for defending sieges, you should try to pull of the same thing: pin with your own spearmen, and have cavalry attack in their back. They'll likely not get a charge bonus due to the lackluster pathfinding (in RTW at least), but they should win.

If you're heavily outnumbered this will probably be extremely tricky.