A favorite trick of mine is to run a fight in stages. Often if the party can only see part of the enemy force, they'll charge... and when more suddenly pop around the corner, the PCs suddenly backtrack and try to salvage their tactics. I'll also often send out the cannon fodder first, then bring out the big bad guy. Out of sight out of mind, and sometimes the players will waste extra resources trying to finish up a cannon fodder quickly, not realizing there's more to come.
Related to this: keep track of other enemy forces nearby. Nothing drags out a fight as much as when the orcs from room #5 hear the noise and come to help, followed by the orcs in room #6, followed by the orcs in room #8... and even when its over it may not be over: if the party is weakened they may be hunted. And of course the best time to roll for a wandering monster is during an ongoing fight...
Another favorite trick is a flanking attack. Even a few pesky goblins showing up behind the PCs can distract them, harry the spellcasters, and so forth. If you can't manage a rear attack, have some enemies charge through to engage the spellcasters, even if they have to take some AOO. A mixed up battlefield is a dangerous battlefiend, with AOO opportunities galore.
Lots and lots of minor enemies take longer to chew through than a few big ones, and they get more attacks too.
Another trick: have the big bad guy concentrate his attacks on one PC until the PC is down (negative hp), then move on to the next. This keeps the cleric busy, forces the party to change tactics, and reduces their firepower temporarily. You have to be balance this carefully or you'll kill characters, either by dropping them too far negative or by disabling so many characters they can't hope to win.
Give the bad guy(s) a few potions of uber-healing, or similar aid. Potions are nice because they don't fall into PC hands afterward and can't be interrupted.
Any sort of gas or poison which reduces the party's attack rolls can REALLY lengthen a fight, since it becomes much harder to take down the enemy.
Anything which separates the party greatly complicates a fight, given the way character classes complement each other. If you can get them on two sides, with the enemy between, or can manage to get a wall between them, they cannot support each other nearly as well and will have a difficult time.