Yes, you can run chips of different speeds together. Some boards will run them at their stock speeds, other boards will run them at the speed of your choice (dont expect to put a 600Mhz chip and a 1000Mhz chip in the board and run them both at 1000!) Some won't boot at all.
As for stepping, that's just about the same story. Some don't mind it, some do. The Abit VP-6 doesn't like it, but can be fooled into running chips of different steppings.
Here is my advice...
Hand pick your chips. I will NOT run dual chips that arent the same speed and stepping. I take this one step further and won't buy chips that arent from the same lot number and more than one number apart. I will go out of my way to accomplish this. If your chips are one or two numbers apart, they are more than likely cut from the same wafer and will match each other. This is especially important in overclocking. I hear so many people saying one chip will overclock well while the other is a dog. Both of my chips successfully run at 1002Mhz (167x6) because they are sister chips (same lot #, one chip apart). If there are flaws in one chip chances are the same flaw will be on the second chip as it is yeilded from the same wafer on the same day on the same machine. And chances are your overclocking yield will be the same also.
There is a reason why they call it Symmetric Multi Processing instead of asymmetric.