A solution to this problem is simple.
If a player kills a merchant, (and that should be a feat that is by no means an easy task) just announce a reward for the player\'s head, and the other players have something new to hunt, requiring detective work with NPCs, and having a time limit, or the criminal gets away with it.
Surely in the comprehensive modeling that is planned, there are criminals?
Isn\'t that what stealth skills are for? (which for this to work properly, would have to keep system info for the fight with the NPC, private to the killer, or killers.)
A quest to locate a new merchant to replace the dead one, would also be a new diversion, even if it were not a welcome one.
The inconvenience of not having the merchant for some time, would certainly crystallize a community opinion of those who kill friendly NPCs. This would be the only penalty that would be noticed by some of our more juvenile players.
Trainer type and level for the dead NPC might change for his successor also, requiring a new trainer be found elsewhere as well, and Evil players would finally have something Evil to do, besides talk trash.
Looting the dead NPC must be possible, if you can kill them. There is a weight limit after all. And it makes no sense for everything brought to the NPC by players to still be there, either.
I can think of no action that is without potential to improve the game. It is only a matter of conceiving how to manage those actions.
In an openly developed game, anything you can think of to do, should be possible. Focus on how to handle it, not on forbidding it.
Only a player who is actually disruptive to game play should be banned.