Unless you
need to kill the traders, I wouldn't, personally. (But YMMV[1].) Arranging a drowning chamber (within which your depot, or at least a temporary one, exists) is one fairly easy (and blame-free) way of killing traders. Not entirely sure if all siege engine options would be as useful, or as risk-free.
I don't know if you can isolate that soldier at all. If none of the other dwarves who have attacked him have survived (and all have died by his hand, directly or otherwise, and not in turn been killed by
others for the 'crime' of attacking the original perpetrator), then you might be able to cease the problem by removing this one from the equation. Most drastically, by killing him ('naturally', e.g. aforementioned method of drowning, or using any other natural dangers), but if he's never in contact with anyone 'normal ever again, might that be sufficient? (Draz seemingly would know.)
Maybe the swordsdwarf can be given a 'cell', fed and 'watered' and equipped by a supply-dumping chute or air-locked stockpile, and when the next siege comes along open his door (after you have closed everyone else's) and see if he works well as a 'berserker' (and, if so, give you the challenge of isolating him again), but if he gets killed off then at least that solves the problem (after possibly taking some
actual enemies out of the equation).
[1] Obviously you made the first one freak out. You may have stopped him leaving, due to a siege or surface megabeast threat, of course. Or you just don't like traders, in which case go ahead as you want to.