1) It is working for every IP address coming from ppp0. With the command I gave you, only the IP address of your ISP is allowed. I also think that I gave you the wrong command, it should be DNAT instead of MASQUERADE.
/usr/local/sbin/iptables -t nat -I PREROUTING -i ppp0 -p tcp --dport 25 -s PUBLIC_IP -j DNAT --to-destination 192.168.1.5
2) Have you switched the protocol to UDP to classify these rules? Can you show us the rules?
5) No, I just add it in my scripts to be sure.