Good job. I honestly thought you were screwed when you proclaimed you were using the notoriously-hopeless ballistae and a militia composed of steel-equipped legendary marksdwarves and mixed-skill melee dwarves. Demons are legendary in all combat skills by nature and have incredible stats and body size, so there's literally no hope for a low-skill nobody to touch them or survive their blows. Adamantine armor, copper shields, and an army of legendary warriors with adamantine battleaxes and spears is usually the best way to go. Having those marksmen involved was a good tactic, as was the war lions, but as you can see, it probably could have gone better. 
I'd suggest stationing the marksdwarves in fortified alcoves on the level above the melee combat chamber next time. If the walkways they're stationed in are only 1 tile wide and there is one squad stationed on either side of the room, they will have 100% coverage of the ground floor, firing form opposite sides, and nobody will be on the wrong side of the fortifications.
Yeah. If I was doing this again, I'd make sure my military was better trained. The marksdwarves caused most the carnage, followed by my high-skill speardwarves. The poor recruits died in droves without causing a scratch. I'd also plan my fortifications better - I had two levels of archer alcoves (which I forgot to show in the screenshots), but the upper-floor alcove did much better than the ground-floor one. I'd also wait until I had
giant war animals available. My war animals were intended to be a diversion, but the larger lions actually managed to take down a few enemies. A force of giant lions seems like it could be pretty potent.
Damn...
That was a close one! good work, any of the lions earn names before they melted?
A couple, yeah. Single-name nicknames only, but still pretty impressive under the circumstances. None of the dogs earned names, all they did was hold the demons down while the ballistae went to work.
Great read. Good to know your fort didn't go berserk after all those deaths.
What do you plan to do with all the toxic blood covered bodies?
You might want to consider flooding that tunnel a little to wash all the demon filth down into Hell.
My clothier has been cranking out gloves for years, and as far as I'm aware every single dwarf in the fortress is wearing them (except Miss I'm Too Sexy For My Pants). So I think I can get all my casualties buried without actually, you know, touching them. The dwarven bathtub in the hallway should keep any of it from being tracked back into the fortress proper. That'll get my soldiers into coffins at least so I don't end up with a bajillon ghosts haunting the fortress. After that... I think I'm going to literally wall off that corridor until I can flood it.
epic!
But did your fps drop too much during it all? I want to do something similar but the 6 year fort with 230 dorfs died from fps before I could breach hell (I had a river, who is to blame I guess. Also, it was a pretty efficient fort, only 40 or so idlers along with 30 childs).
I capped my fort's population at 100 to keep things running smoothly, and I've been heavily abusing dfhack's 'autodump destroy' feature to remove miscellaneous items and corpses. I'm trying to keep things fair by only removing corpses that had no chance of annoying my dwarves with miasma. My fps dropped during the attack from 70 fps to about 35 or so, especially at the peak when I had over a hundred war animals running around. The idea was that I would attempt to clear hell, then raise the pop cap back up to 200 if I was successful.
Got anything planned for Hell now that the way's clear?
Yes! I'll have to deal with an underground river over the planned site, but I want to make an obsidian-lined shaft into hell, with a vampire mason at the bottom. Prisoners, useless fishery worker migrants, and anybody who wastes a mood on an artifact craft item will be pitched into the abyss and stuffed into an obsidian coffin by the eternal keeper of the damned!