The solution I've just worked out on paper uses a total of 5 NAND gates and 3 inverters - so you could use two 7400 chips and ditch the inverter chip entirely. In detail:
Code:
Phi2 ~& RW -> ROM /OE -> RAM /OE
Phi2 ~& (~RW) -> RAM /WE
A15 -> IO E3
A14 -> IO /E2
A13 ~& A12 -> IO /E1
A15 ~& A14 -> ROM /CE -> ~(RAM /CS1)
A15 ~& ~(IO /E1) -> RAM CS2
This has a worst-case gate delay of 3 from A12/13 to RAM CS2. The delay from A14/15 to RAM /CS1 is 2 gates. This is achieved by moving an inverter from the end of the I/O hole deselector chain and swapping the two selector lines; otherwise we'd still have a 4-gate delay from A12/13 to RAM /CS1.
These delays could be reduced further using a different selection of gate types, I think. In particular a 3-input NAND would work directly for combining A15/13/12 to /CS1, giving both of the RAM selector lines a 1-gate delay. If you had one 7400 (quad 2-NAND) and one 7410 (triple 3-NAND), that's still a 2-chip decoder - with a 3-NAND gate spare to boot!
Code:
Phi2 ~& RW -> ROM /OE -> RAM /OE
Phi2 ~& (RW ~& RW) -> RAM /WE
A15 -> IO E3
A14 -> IO /E2
A13 ~& A12 -> IO /E1
A15 ~& A14 ~& A14 -> ROM /CE -> RAM CS2
A15 ~& A13 ~& A12 -> RAM /CS1