What you have here is a "router behind router" setup.
What you could do : Your Zyxel has to be used as a bridge => the Internet WAN adress will be offered to the WAN NIC of pFsense, you'll be up and running in no time. This is the so called PPPoE mode. Usernames and password has to given in pFsense.
This problem isn't unique - try looking for solution in your country (concerning your ISP). You will not be the only one with this problem.
Otherwise : not a real problem really.
Give pFsense a static WAN IP - and its gateway IP on the WAN NIC will be the IP of the Zyxel Modem/router.
Just NAT the right ports for emule in the Xyzl to the pFsense IP.
You already natted the pFsense as it ought to be.
This will work. I already used ones 3 routers in a row - still had a high-id ...