^^
Yes, different cards can be put together in multi - GPU. Just that they must be from the same series. 58xx series, or GTX2xx series. But this will not be optimized. For example the HD5850 and HD5870 have different speeds. So in crossfire the HD5870 will down-clock and run at par with HD5850.
You get the connectors in the standard bundle with the GPU, be it a green card or red card. The motherboards usually also come with Xfire/SLI connectors (depending what is available on the chipset). At times, the connector can be 'short', so the mother board bundled connector is utilized, cause it is manufactured keeping the space between the PCI.E docks in mind. The SLI ones are usually 'hard', so the distance cannot be varied. The Xfire ones are of ribbon type, which have greater scope for distance customization.
EDIT:
Flexible SLI connectors are also available.