you can CF different card with amd card but it still have restriction. you can CF any card between 7900 series but it will not compatible with 7800 series. plus combining cards with 3GB and 2GB VRAM does not make total available RAM as 5GB nor the system will see the system has 3GB of ram. for example if you're combining 7870 with 2GB ram with another 7870 with 1GB ram (obviously 7870 with 1GB ram does not exist so i just make it up so i can make examples out of it) the system will sees both card having 1GB ram available to each of them making the another GB available on the 2GB model completely useless.
as for the cross-family issues you can CF 7970 and 7950 together because both were based on the same chip, Tahiti. 7800 are using Pit-Cairn chips so they are not compatible with 7900 series.