The software setup is described fairly well in Chris Tyler's blogs (don't skip the comments - there are useful tips from others in there, and on this followup page ), but here's the basic idea: You run two separate X instances, each with a different ServerLayout section in the config file.
XTENDA X300 PS2
One of my seats has a PS2 keyboard and a USB trackball, and the other has a PS2 mouse and a PS2 keyboard on a PS2 to USB converter that works perfectly hanging off the end of a 10ft USB extension cable. I first bought a 15ft brand-name one from Buy.com that was absolutely worthless (thin cable, ridiculous ghosting even at low resolutions) - then I bought this "generic" one which works perfectly.
All you need are a few $30 PCIe video cards, and you can attach multiple monitors to the PC, each with the In your /etc/X11/nf file, you can create entries for each DEVICE (mouse) you want attached to the PC, and you can create entries for eachy DISPLAY (screen) you want. dev/input/event* uniquely identify each HID device, meaning mouse, keyboard or joystick. Under /dev/input, you have a separate mouse device file for each mouse attached to the system. I believe it's supported by X and the Kernel. There are solutions to this - but they are rare BECAUSE not many people would use this Same deal with keyboards - you'd need to make sure anything typed would stay on the screen it was delegated to.
For one thing, you'd somehow have to make two mouse cursors each controlled by two independant mice, you'd need to keep each cursor within it's own screen (it'd be a bit kooky to see someone elses' mouse keep popping into your side of the screen). If I'm understanding what you're advocating correctly, then it's a very problematic solution.