Though I don't run pfsense on a RPi, I do run it on a laptop with one Ethernet port, the trick is you need a managed network switch and use VLANS. For example, your cable modem would go in port 1 of the managed network switch, and that traffic would be tagged VLAN 10, which would only go to ports 1 and 2. The PFSense computer would go on port 2 and would be looking for VLAN 10 as the WAN port, which you tell it in the PFSense setup. The rest of the network switch would be tagged VLAN 20, so the LAN traffic out of the PFSense could travel out of the one Ethernet port to the rest of the switch. This configuration has been working great for me on an old EeePC netbook for years. Setting up the switch is tricky and the specific language depends on manufacturer. Good Luck!