I realize this is a belated reply, but there is an answer, and it may not have existed a year ago.
First the limitation (I think in X itself) is that X wants all screens that get hooked together into 1 big xscreen to be on the same video card.
So solutions (as far as I know) that include 2 video cards will let your cursor traverse all 3 monitors (across both
xscreens) but windows cannot be dragged across to the 3rd monitor (or vise versa).
To get 1 big Xscreen and windows to slide everywhere I believe you need to have all three monitors hooked to the same video card.
So you need to find a card that does 3 or more monitors from the same card.
I'm a big nvidia fan, but I could not find one recently that did more than 2 monitors per card. There are some cards that have 3 ports, but you only can use 2 of the 3 at a time. You have to read the fine print carefully.
The only cards I found that would do more than 2 monitors at a time were some Matrox cards and some newer ATI cards. The Matrox cards had limits of how big the total display could be in pixels and limits of resolutions for each monitor too. There are several ATI cards that support 3+ monitors in Linux, I bought an MSI Radeon 6990 card that has 5 monitor ports and can by splitting one port support 6 monitors, though I cannot get a clear answer how splitting will impose limits on the monitor sizes for the split ports.
I am only using 3 ports now and they all support 2560x1600 per Mini-DisplayPort.
My son has a different card, in the 5xxx series that has 6 Mini-DisplayPort connectors on it and it supports up to 6 monitors as well and is cheaper–so I know there is more than one card that can be used, not sure of model number of the other cards.
The other part of your question, about
compiz, I cannot answer that, but once you get all monitors on one video card, I suspect
compiz might work, since you will not need
After the 3 are up and running, you will probably need to arrange them to each other with xrandr. once you issue the correct commands from the command line, you can put them in a script file and have them run every time you start up to save you typing and remembering.
My script for my setup has 3 lines:
xrandr --output DFP1 --mode 2560x1600 --rotate left
xrandr --output DFP2 --mode 2560x1600 --rotate left --pos 1600x0
xrandr --output DFP3 --mode 2560x1600 --rotate left --pos 3200x0
Your output devices and options will be different.