If you put the 65C816 into emulation mode, it looks just like a 65C02, but there's a way to flip it back into native mode. So it gets constrained to 8-bit registers and math, 64K of RAM, etc..
On the plus side, by adding modes, the existing 8-bit opcodes are all extended to 16-bit sizes, and it's very compact if you can write code (or your compiler can generate it) that doesn't have to switch modes often.
For RAM access, they had to use bank switching. 256 x 64K segments. 8-bit bank registers.