2- Different manufacturers should not have an issue, though sometimes it does as the cards have different bioses. The crossfire setup will only have an amount of memory equal to the lowest card in the setup. Spending more money on a 1gb version is a waste.
3- Different clock speeds dont scale the same way as the memory. But effectively any increase provides very minimal improvements, diminishing as the difference between the cards grows.
Can someone please enlighten me as to the rules for selecting second card please.
Yes make sure you pick another hd4850 with same memory. Different manufacturer does not make any difference.
Both cards have to be running at same clock. Crossfire will render at whichever card has the lower clock setting.
You can also crossfire 4870 with 4850 but the second card will run at the slower hd4850 clock setting, thus dont waste your money on a card with higher clock settings since it will make no difference to you.