If you have a router then you have to make sure these ports are open and I qoute from Blizzards Tech Page.
"Warcraft III:
* Allow port 6112 TCP out and allow established sessions in
* Allow port 6112 TCP in (hosting custom games)
* Allow port 6113-6119 TCP out and in (hosting custom games if you’ve changed the default port in the Options/Gameplay screen) "
You do not need a static IP address in order to host a game. Most people do not have one (I doubt most people would pay the crazy price to have one since mostly it is for business use only)
With a router if you set it with those ports open you should be able to host any Warcraft 3 game without any problems.. there are also other ways to do this depending on the router.