This is doable if someone wants to spend enough time to make it happen. The Darling project is attempting this, though as of this writing, it's in a pretty primitive state.
It's been done successfully before on other platforms:
- Solaris and UnixWare include a helper program called - lxrunwhich works something like- sudo: you pass your executable name and parameters to the helper and it fixes things up dynamically so that the executable can talk to the OS. The official site (down, archive link) says it's bitrotted.
- Linux's kernel once had a feature called iBCS that did the reverse, except that it didn't need a helper because the kernel recognized the "foreign" binaries directly. It fell into disrepair during the kernel 2.3 development series, most likely because the small Unix server battle was essentially over once 2.4 came out. 
- FreeBSD's kernel can be configured to recognize Linux binaries and run them as if they were native. This feature appears to be in better shape than the above two. - OpenBSD and NetBSD have similar features. 
OpenBSD and NetBSD have similar features.
OS X has a lot of FreeBSD in it, so porting its Linux support might be straightforward.