All you should every have to do to get the Xbox to play nice with pfSense is enable UPnP, set a static DHCP lease for your Xbox, and adjust your outbound NAT to utilize static NAT entries for the IP of your Xbox.
If that doesn't work and you are using a managed switch, check if you have any security options enabled on it. I mention this because my ProCurve 1810's Auto DoS feature (what a name!) often caused havok with Xbox Live until I disabled it.
Port 88 is utilized by Kerberos, which can use either UDP or TCP. IIRC, it tries TCP first, although this is how Windows domain controllers utilize it, Xbox Live might be completely different.