Yes, long mode is fully compatible with PM16 - the only thing that isn't supported anymore is v86, but as you said, you aren't going to use that.
It's as simple as adding 16-bit code and data segments to the LDT (or GDT, if you really want to). OS/2 style call gates should work too, however I suggest implementing the int21h interface as well. That would allow you to run the same binary both under real mode DOS and PDOS, as long as it's "well behaved". Not many
existing DOS programs are, of course, but your own would work in both.
---
I've played around with this idea a bit under Linux, and made a minimal proof-of-concept "DOS compatibility layer". A converter program takes in a specially arranged .EXE (small model, DS must be same as initial SS, no relocations), and produces a .COM file that is only about 800 bytes larger, still runs under DOS, but is at the same time also an ELF binary compatible with 32- and 64-bit Linux.
The tacked-on code is so short since it only supports translating AH=3Fh (read), 40h (write) and 4Ch (exit) to Linux syscalls, but with standard handles redirected by the shell that's already enough to do things. The converter itself was written according to these restrictions, so that I had a demo program to use it on
---
Not quite sure what you mean here, but regular descriptor table entries are always 8 bytes long, only the system descriptors take up two of these slots in long mode.