This is an old post, preserved for reference.
The products and services mentioned within are no longer available.
I previously looked for a replacement for the Commodore 64 PLA, and tried an EPROM based solution. This sort of worked, but only on some systems, and was basically limited due to timing issues.
The chips I have used are GAL22V10s, these have 22 I/O pins, 10 of which can be outputs. That seems to add up, and leaves one spare pin. I have connected that between the two devices as it may be required for timing reasons.
The equations are available on the nets, and described in fantastic detail in the article The C64 PLA Dissected. I've split the connections according to the easiest wiring and in a combination of optimism and laziness, went straight to PCB. It's a small board, 1" x 1.5", so doesn't interfere with the surrounding components.
One of the reasons the EPROM based solutions have problems is timing, mainly around the CASRAM signal. This should be activated slightly later than the others, to avoid conflicts. It's basically a catch all, if none of the other devices, are activated, access the RAM. To achieve a slightly longer propagation delay, I've generated the signal on the left chip and passed it through to the right chip which passes it to the C64 board (when the chip enable is active anyway). This double delay seems to do the job nicely.
2022 Update: The timing required seems to vary from board to board. These sort of worked, but not universally, same as the EPROM version.