If body parts from invaders work, and you just killed a siege of 50 in your weapontrap hall, then you have 200 bodyparts lying around. This is what I am most concerned about, since every hand, leg, feet and whatever gives some blood.
...
I don't think you could process all the bodyparts from a siege that size before they rotted anyway.
...
I did some more testing and I was not able to process much of a 20 goblin siege (~5 body parts) before they rotted and could not be used in the reaction.
You could probably get more processed if you built several bloodpress and stockpiles around the area you intend to kill invaders in to cut down on wasted time hauling bodyparts in from the battlefield.
The body parts rotted too fast for me to tell if dwarven ethics are working for the reaction or not thought I have never had any dwarf body parts used yet just dismembered invaders and animals.
I would need to process a larger number to be sure if the invader bodyparts I processed were not just bugged.
You could not just make the reaction allow rotten bodyparts to test this because they eventually rot to bones which won't work in the reaction and make it impossible to count how many bodyparts there are before processing begins and after you run out of valid reactants.
The only way I can think of to test the effect of dwarven ethics is to stop all bodyparts from rotting by removing [ROTS] from the material definitions , set up a new fort with those raws, play until you get large enough sieges (20+), kill the siege in a way that produces a lot of bodyparts, and then see how many are recognized by the reaction.
I don't have time to do that right now, but if someone wants to test that themselves I can set up the raws for them if they don't know how.