AFAIK PF in OS X was imported directly from FreeBSD, not OpenBSD. I've seen a few PF questions on Stack Exchange not long ago that mentioned the PF syntax in OS X is pre-OpenBSD 4.7 which would lend credence to that. Of course that could have changed recently and I wouldn't know as I don't use OS X.
I will take your word for it but I would swear the last time I was using OS X (my daughters have a laptop running OS X) the version of PF was newer. By the way OS X used IPFW before switching to PF couple of years ago.
From what I understand the problem with bringing FreeBSD's PF in sync with OpenBSD is OpenBSD's PF is not
vnet(9) compatible. There was some talk recently about this being looked at on one of the mailing lists but I can't find a link it right now.
If that is the case PF should be pruned sooner rather than latter. There is no point in having obsolete version of PF besides native IPFW. People who like PF like me will use OpenBSD anyway.
I didn't want to post here my list of things for FreeBSD but since we started the discussion here it comes. Enjoy
1. Remove Sendmail and replace it with DragonFly BSD mail agent (I am running such set up on my FreeBSD servers and I think the things are moving that way in the head). Take a clue of the whole situation with Bind vs Unboud+LDNS tools
2. For God's sake import
OpenIKED into the base. It is despicable that FreeBSD has no decent IPSec support and the one in the ports is coming from Linux.
3. Base should contain basic DHCP server. Port OpenBSD version if you don't want to develop your own.
4. Remove PAM from the base and SSSD from the ports and write your own UNIX-like LDAP authorization frame work. If you don't like what OpenBSD guys did then check commercial UNIX-es but don't copy Linux crap (PAM and SSSD).
5. If you are going to support Kerberos (MIT or better Heimdal for licensing purposes) please clean the protocol and the code base as nobody will do it for you. OpenBSD guys have given up on Kerberos completely and removed it from the base. Nobody will be fixing Kerberos for you.
6. Replace OpenSSL with LibreSSL in the base and across the port tree whenever possible.
7. Import arc4random from OpenBSD.
8. I like the fact that developers are talking about better NTP daemon. Please do it. I would like to see an alternative to OpenNTPD (or NTP bloat-ware) This actually could be much higher on my list.
9.
mandoc should be the only document formatting system allowed and mdoc should be only format allowed.
10. Clean BSNMP daemon. I like the fact that FreeBSD has its own version of SNMP daemon different than net-snmp or OpenBSD version.
11. Clean syslog code base and add TLS and few other modern features.
12. Finish off native sensoring framework and get rid of infamous IPMI
13. Xen is good. Bring the Dom0 support in par with Debian.
14. Stabilize DTrace in the user-land. It is starting to suck.
15. Clean nvi in the base. Check what OpenBSD guys are doing.
16. Fix mailx in the base check what NetBSD guys have done.
17. Create native BSD tool chain. Adopt portable C compiler as your own PPC.
18. Port the video drivers from DragonFly BSD so that people can actually use FreeBSD as a desktop OS.
19. Porting HAMMER 2 should not be as hard as HAMMER 1.
20. Remove Linux emulation crap. People who need Linux should use Linux.
21. Port Truecrypt DragonFly implementation to FreeBSD.
22. Bring vkernel from DragonFly. That thing is cool.
23. Finish off RAID 5 and add RAID 6 software RAID implementation. If HAMMER 2 is ported it will be needed. HAMMER 2 is a file system not a volume manager. Some people need to use UFS and RAID 6 is still useful to them too.
24. Add IPP protocol to the native LPD daemon. Clean that ancient code. All BSDs would benefit from it.
25. Bring
GlusterFS to the level of the fist class citizen.
26. Talk to vendors and try to bring native MATLAB and Mathematica to FreeBSD. Talk to Oracle. Get proprietary JAVA and Oracle database support. It is very important for enterprise users.
27. Make sure that your own developers run FreeBSD on the desktops.
I probably left bunch of useful stuff but this is how my list would look like.