As to memory, it is easy to change if you make it that way. Your on a breadboard so some what already easy.
Think of my solution above. It is just one way of doing it. It does the rom to ram change. You could have many banks of rom. Now break it down some.
To change 0-16k from rom to ram for me is one added chip. You have Grants version. The 273 version of grant's for number of chips. Think you might find the 273 easer to understand. The point is powerful can be simple. And always many ways to do something.
If you have looked at some of the expandable computers. Some you set jumpers to change hardware settings..Some use an 8-bit magnitude comparator such that a dip switch can change settings like address range.
Now a logic signal can disable the 16k mapper. You would be using this to handle power up. But you could also use this another way.
Grab a gate that 8 low inputs gives an output. Connect the inputs to A8-A15 on Z80 and you have a signal for 0-255 bytes address. This could disable mapper and enable common memory.
One of my Z80's uses a 8-bit magnitude comparator to change address of common memory and memory based IO.
A disable signal could let you have a second set of memory or put a IO port in middle of your ram..
There I was thinking I'd make a start on integrating the PSG, or SPI (yeah, the 464 never had that either), and instead I'm looking at massively increasing the available RAM. This isn't going to be a short project, but the amount of learning I'm doing is awesome.
Might want to think on the areas you want to learn more about.
How much could something your learning here help you in the future.
Good to look at other ways to do things.
For the 8080 an interrupt is forcing a call instruction on bus.
The Z80 could do this, but Z80 chips like SIO are built for Vectors. And a vector is one byte where a call is 3 bytes.
Most old computers with Video output used dual port memory built from normal memory. A dual port memory chip is great, With great cost for small size memory in one chip.
In simple, There are many things you could learn from a Z80 & 68000.
When you pick something to learn and do. look at other ways also. You might also think about how much what you learn could help in future.
SPI is good for a CPU talking to Fast IO over few signals. But you have to read a byte to get status in place of reading a port. SPI slave has no way to slow the data rate but a status bit or status message.
An SD card can function with High data rate, Can an ad Arduino supply or receive data at these rates as a slave?
AY-3-8912 I would leave this chip to collect dust. Think most you learn here is just AY-3-8912 knowledge. But it's your choice.
You are at a point where you can learn a lot about software.
You are also at a point where many things hardware can be easer to do now.
Think of this as a project, Connect your two Z80's so that it becomes more then a single Z80. To start with connect the two serial ports. Then add a port so one Z80 can reset the other. Each time when you add more RE think the hardware and Software. Can a change make it faster or more powerful?