With the 6809E/6309E you can do something even more interesting. The CPU uses the bus only on one half of the cycle. The other half can be used for other things. The 6845 and the 6881 SAM used it for DRAM refresh and video fetch but it's also possible to run dual 6309E/6809E processors or dual 6502 in this fashion.
For coprocessors I built a Z80 coprocessor card with its own 512K RAM and some ROM that talks over a control link to the main host (and the main host can interrupt/reset/etc it). That was based on how some S100 setups worked. I got more interesting results out of using a 1K shared memory with built in interrupt (IDT 7130). With a bit of glue you can make it appear in I/O space on two RC2014 buses at once, allowing you to have at least three CPUs all talking to one-another. It's a small card that sits flat between two rc2014 backplanes. I have built a similar card where the other side of the 7130 is an Arduino but it lacks something in authenticity. 68HC11 would be perfect for that or an 8051 perhaps but 68HC11s are now stupid prices.
The two board joining card was a lot easier - it fits the rc2014 modular structure and it's much easier than trying to cram all the parts onto an RC2014 sized card (the Z80 one ended up a bit oversized)
There were some very neat S100 era setups where the secondary card was an entire system (serial, printer, RAM, etc) and you booted CP/N or CP/M off them with MP/M (or one of the better clones) running on the S100 host to provide storage. A few such cards were dual or even quad client systems on a card.
Alan