1. Only if you want to connect to servers inside your network using your external IP, otherwise use localhost.
     
  2. So if I buy a modem with DNS Rewrite will solve my problem?

    Or in the case is some function of the internet providers?
     
  3. It's isn't needed, just connect to the internal IP of the server. (192.168.x.x : port) and tell people outside your network to use the external IP.