I've used GALs several times, mostly to replace a lot of SSI TTL and the like. A good program for write GAL code and compiling the binaries is WinCUPL from Atmel. It's a freebe and comes with a lot of example code. I recent bought a TL866CS USB Universal Programmer on eBay and it programs these parts easily.
I'm sure a GAL22V10 will do the job because its more than combinational logic, it has macro cells that can be configured a lot of ways. Also, output and mid terms can be fed back as inputs. I'm thinking that one GAL22V10 will be the address decode, like in the schematic now, and a second one to control the external bus buffers. I think you're right that the 74F646 chips might be overkill. They are only used if you have to latch the data on the bus, like in pipe-line based computers. The 74ALS245 should work fine for all the bus buffering. They are a lot simpler to control. When I go off the deep end, I like to go 'very deep'! Thanks for bringing me back.
For software help, I would like to port an existing Z180 monitor to this board. I'm not sure how the code works for the internal serial ports. It would be nice if it eventual ran CP/M. I've written a lot of Microchip PIC code in assembly, but it doesn't seem to translate well to the Z80 world.