just give him a single cap or bullet when the barter timer is about to run out to reset it...
waiting a player to finish his trade is already annoying enough. once i've waited for a player to finish for about 5 minutes, because he was "resetting" his trade. so NO to this suggestion.this feature would be useful only if the npcs could talk to multiple customers at a time.
if you push him it breaks dialog and the trader becomes free
That suggestion is straightener to the bender. Problem is having tons of useless stuff in traders, not having too short time to trade.