There are many DPorts that have a one-line Makefile.DragonFly with the contents "CFLAGS+= -DFreeBSD=9" or similar.
For the purposes of reducing differences between ports and dports, I propose a new USES tool (alias) that is ignore if OPSYS == FreeBSD. It normally has no arguments, but it will accept 8,9,10, or 11 as an argument to define the major release.
Is there any heartache regarding this approach? It is pretty clean for FreeBSD I think.