Battle intensity is also now moddable by changing a value in misc.txt, so another answer would be "as long as you want"! With fresh reinforcements being fed in by both sides, I have seen one fight go on for over 20 days, but that is exceptional - as Lennartos says, around 4-5 days is fairly typical for a reasonably big fight. It depends on terrain, weather, force size, degree of air support and unit types though, among other things.