In order to be more aggressive during war they need more units and they need to stay out of financial trouble. Staying out of financial trouble is the biggest single factor, so if you want to improve their ability to wage war focus on improving their ability to run their economy first or take the easy way out and give them more handicap bonuses on unit upkeep and particularly unit supply costs (in Civ4handicapInfos.xml).
They also need some 'encouragement' to produce appropriate units, or more correctly to not produce so many useless units (ships mainly, especially in the early game). I imposed limits to the number of ships they can build, by unitclass, in the SDK using the number of players, number of coastal cities and world size in general. The normal AI build descisions don't have limits built into them so the AI will continue building what it determines to be the best build for that city with little regard to anything else aside from some encouragement to build specific UNIT_AI types. This plays a part in their financial trouble as well, if the build hundreds of ships that they never use those ships are little more than a burden on their economy that pushes them into financial trouble which in turn forces them to stop attacking. This can be done in Python but can cause slowdowns if you're counting too many different unit types. You can also cheat and do it in xml alone with national unit limits.
From another angle, stack size limitations will impact the quality of the AI's war since they give orders to stacks rather than individual units. So, by limiting stack size you end up with more stacks which can result in more targets and better overall strategy.
And finally, you can modifiy the AI so that it will attack with lower odds of winning. Although this won't always help them in the short run it has a number of positive effects in the long run such. Since the AI doesn't like to disband units this is a good way to weed out their weaker units through attrition. If they AI thinks they'll win they will also be more likely to continue attacking, even after sustaining some losses, which can cause them to win battles they would not have otherwise fought. In the SDK you can control this very specifically and use different calculations for various units, targets, terrains and whether they're in friendly or hostile terriroty. This does not affect the actual combat odds, only what the AI thinks the odds are when deciding if it should attack, so it would be similar to modifiying the odds displayed to human players. In my mod I use this in a couple of places, most notably with ships dealing with privateers, my rule in that case is that any unit with hidden nationality that is blockading in the AI's territory is treated as if they have a 99% chance of victory so they go at them with a vengence. In another example if the attack unit can flank any units in the target stack it thinks it has better odds than it really does, I also do something similar for units that cause collateral damage.
That should give you some ideas, if you want specific details I have a lot of SDK code I'd be happy to share. My xml changes to the AI are a combination of several aspects such as traits, flavors, attitude adjustments (heh) and AI weights to achieve the desired results for me.