Hi, I am at work right now and not a native speaker, so forgive me my mistakes.
you could read up on the Rules for Horde combat in the Deathwatch RPG.
Goes somewhat alonge the lines of this:
If you go in Meele, you will get damage, and you reduce a overall "Hitpoint" value called Magnitude.
If they have lots they do lots of damage. You can disperse them by powers, intimidation, Ranged and melee combat.
other ways to make hordes interesting (in my book) is to treat the situation, insted of shoving miniaturs across the table.
The thing is: Killing 100 monsters looses its edge half across the battle.
Make battles meaningful.
Retrieve a prisoner, poison the caption.
get to the Horn of Helms Deep and let it rise.
Get through the Battlefield to heal the Commanding officer.
Rally the troops.
Short: Have an uneven number of points that can be accomplished by the characters with everything thewy can use (skills, magic, Damage, knowledge, stealing Catapults...)
And then make taking these points center stage.
Here are some slipshot Ideas from the Top of my head:
Use Enemies as enviroment: Make a Save every turn (Players choice, depending on style and situation or dictated by DM.
If you do not succeed you take damage ad from some enviromental hazard.
You attack each round, as you usually would, Extra attack and all.
But you reduce the AC of the monsters by... 2 or something. Because you nearly cant miss... they are so many.
Use the word magnituse. so all enemies share one Hitpoint pool.
For every 20 HP (or so) the Magnitude goes down.
So spells like sleep or fireball can be used as much as a charm or terrifying spell or tentacles on the ground.
Options for magnitude:
Reckless Horde: The Horde can deal extra damage or maybe take additional actions if they sacrifice hitpoints... Like when the orcs or undead (undead orcs?) just keep storming the deathtrap of a gate ord across the wide open battlefield.
Cautious Horde: Horde does not loose AC and cannot deal damage.
but they stack people in your way. So you dont get to move until you reduce a certain amount of magnitude
The horde spits out a few of its own.
Reduce magnitude by amount of monsters you pit against the PCs.
Enviormental horde damage ceases. Magnitude cannot be attacked.
PCs must flee or deal with "a normal combat".
Build a random table:
Everytime anyone rolls a 1 or a 20 something good or bat happens for one of the sides.
make 6 events for PCs Side and horde alike, roll on a D6 when conditions are met.
Find a safespot.
Either use a spell, or find some hillside or cave nobody can see you.
Must first "trick" or divert horde, or give up progress, due to find a space for a short rest and keep it restful for everyone involved.
Somebody elses problem:
Use Soldiers from PCs side to take on sidequests... one magnitude of PCs side just takes out (or at least binds) megnitude on the other...
So do not only have an uneven number of Victory points but secondary ones.
PCs can deal with that wihing a few round if they reach it. or the dispatch an army of their own.
-City is in civil war... everywhere are crowds of people, chasing the other side of the conflict, or looking for the witch or something.
-The undead rise and fall... and rise again
-My point beeing, a Battle must not take hours... this mechanic can abstractly handle if you try to traverse a vast city that is on the loose for days...
Roll stealth or dex save everytime the group moves to a significant point... encounter the horde when you fail.
Talk to political leaders as a skill challenge (or to reach them)
Steal the Corpus delicti, while the whole town wants your head. try to redeem your name (or that of the pontifex).