There are some 6502 Fuzix ports, of varying degrees of workingness. The main issue is that everything's written in C, and the 6502 is a very difficult architecture to compile C for, with really bloaty code. Hardware-wise, Fuzix wants to be able to bank-switch memory starting at 0x0000 with a fixed segment at the top of memory which provides the system call handler and bank-switching stuff. The kernel and video memory live in their own user banks. This gives each process up to about 63kB of available space. My understanding is that the X16 uses a similar mapping model to the C64 with the mapping registers in zero page at 0x0000. This will make it difficult to run 6502 binaries from other platforms, but if you're going to recompile all the userland yourself that's not a problem.
I have, by the way, a compiler for an Ada-like language which will actually run on the 6502: http://cowlark.com/cowgol/ I was able to get this partially working on a C64 but with the kernal and video memory eating big chunks of the address space there's just not enough RAM left to do anything useful. Also, the C64 DOS is dreadful --- I need to be able to seek inside files, and get their size. You can, however, cross-compile from a BBC Micro or CP/M machine (or a from a Linux PC if you want to be boring).
...I also made this: https://github.com/davidgiven/cshell ...which might be useful for people doing machine code programming.