Actually, with some basic information recording mechanisms finding out who is a hero would be fairly simple, so long as the method(s) of determination are moddable. Legends already keeps track of some of the data, similar mechanisms could be applied to in-game combat.
1. Check # and severity of wounds on a megabeast kill and cross reference them with time spent in combat with it for "MVP".
2. When outnumbered in melee combat, start a timer, if # kills happen before timer runs out, add an MVP point. Optionally, if the dorf takes damage the counter changes types and gives less of a hit.
3. When in prolonged combat, check for survival of grievous wounds. If dwarf recovers, tack on MVP points.
4. Killing named enemies, especially leadership figures or more dangerous critters (size/skill/stat comparison).
5. Blocking or avoiding large numbers of projectiles without taking significant damage.
6. "Protecting" wounded dwarves (i.e. if badly wounded dwarf is within <X> tiles and he survives combat, the hero has "saved" his brethren)
7. Making and passing repeated morale checks to avoid breaking and running from an impossible fight, assuming morale will be added at some point.
Basically, try to make it things that are not very easy for players to orchestrate. Sure you CAN orchestrate some of them, but if you spend the time, energy and resources on it, why not?