This situation doesn't work. The cost to activate Banewhip Punisher is a black mana and to sacrifice the Banewhip Punisher. Because the sacrifice is part of the cost once the ability is activated it is immediately in the graveyard and cannot be targetted by other spells or abilities.
While it's true that the last things to be put on the stack are the first ones to resolve, paying costs (and "Sacrifice Banewhip Punisher:" is a cost, since it comes before the colon) doesn't use the stack at all.
However, payment does not use the stack, just the ability from Banewhip. By the time your opponent has a chance to use Icy and Assassin, your Banewhip is already dead and gone. There is nothing your opponent can do.
Even if your opponent decides to use that combo to kill Banewhip first, you can still activate his ability and he dies anyways due to the sacrifice.
I realized that I understand your confusion. Twenty years ago, the rules regarding sacrificing a creature were a lot different. Notably during combat and the damage step and using a card like Ashnod's Altar. Those rules were changed somewhere along the line. You can't stop a sacrifice anymore (were you ever able to? I don't remember) if it's a payment.
Note also that your friend could use Icy Manipulator + Royal Assassin to destroy your Banewhip Punisher before the Punisher's ETB trigger resolves. In this case, you'd still be able to use Punisher's activated ability (if there's a legal target), but Nightmare wouldn't yet have a -1/-1 counter.