Bear in mind that if directly connecting GPIO pins (which includes unbuffered UART pins), you should keep the distance down to avoid noise pickup - no hard and fast rules, but I'd suggest a few inches at most.
Regardless of whether you use parallel or serial, you can buffer the signals using various types of driver and receiver to extend the length (RS-422 differential drivers are good for >1km at 9600 baud, IIRC)
If hard wiring is acceptable, why not use all Pis with a network port, and stick with a network connection? You can probably use a crossover cable. It'll be much faster than most of the alternatives, can be extended over a reasonable distance, and most of the tricky software work has been done. Even with a basic serial link you'll have to write software to manage error detection and recovery, which can get complicated.