Very interesting development: Ulrich Hecht has added a 65816 backend to Fabrice Bellard's Tiny CC, and modified the WLA macro-assembler to suit.
It's for SNES but I hope it isn't too difficult to tweak it for other 65816 systems (in my case, emulated systems)
http://code.google.com/p/snes-sdk/
"SNES-SDK is a C toolchain and libraries targeting 65816 systems, specifically the Super NES (aka Super Nintendo, Super Famicom). It consists of a version of TCC equipped with a 65816 code generator and modified versions of WLA-DX (assembler and linker) and SNES9x (emulator for running the test suite). It is extremely hacky and very unpolished, but it passes a substantial part of the GCC test suite and even has floating-point support."