Your description seems to be inconsistent. First you talk about killing a merchant, and then a dead citizen, after which a revenge killing spiral broke out.
My guess is that the first one killed was actually a dwarven merchant who had relatives in the fortress, and said relatives then attacked the killer,... leading to a tantrum spiral.
I've had a couple of odd incidents (possibly) regarding merchants (non dwarven ones, since my civs are dead). In one case it seems a merchant got into an argument with one of my dorfs for an unknown reason, hit at the dorf, and the dorf retaliated by smashing a toe nail on the attacker. All the merchants packed up and left after that.
The second incident is a dorf who comes flying and dies hitting a wall, while another dorf dodged out of the way and stunned itself against a wall. Since this happened in the trade depot, my guess is that merchants, guards, or their animals somehow were involved, but nothing more happened after that.
If my guess is correct, you might be able to avoid the issue by making sure the merchant killing dorf doesn't meet the merchant to receive the killer worthy insult. You might try to deal with the lions and then station the militia rather than taking them home, or station them so they enter through a different entrance (you do have multiple ones, don't you?).