i'm currently using a 65816 with 16-bit wide SRAM.
reading from a 16-bit bus is easy:
you do the bank address/data bus seperation like normal
but you reserve one of the address lines (A0) to select either the upper or lower 8 bits of the bus to be read. A0=0 -> Select lower 8 bits, A0=1, select upper 8-bits. (or the other way around, doesn't matter)
for the actual selection you just use an 8-bit Multiplexer or 2x 8-bit Tristate buffers with the outputs connected together to the CPU, and with A0 connected directly to the Enable line of one of them, and inverted A0 going to the other.
writing is more complex though, if you just want to hook up to some SRAM then it's also very easy as 16-bit wide SRAM chips almost always have Byte select lines so you can tell them to ignore either half of the data bus. allowing you to just put your 8-bit value onto both halfs of the bus and only allow the SRAM to take one of them depending on A0's current state.
but if you got some actual 16-bit devices, honestly just use a 65c22 and use both ports togther as a 16-bit wide buffered bus.
also, damn you people, stop giving me ideas for FPGA softcores!
just imagine it, a true 16-bit 65816 with a full 24-bit Address bus and 16-bit Data bus... what a project that would be!