Can I buy the expansions from Steam if my copy of Sims 3 wasn't bought from Steam?
I already own Sims 3 and Sims 3 Generations after buying them from Best Buy and Walmart. If I want to buy other expansions through the Steam sales, do I have to rebuy these two in order to play them? Or will they work with the Sims 3 games that I already own?
You need to own the base game on Steam for it to work.
It actually says this on the Steam page when you look at the expansion packs:
Requires the base game The Sims™ 3 on Steam in order to play.
So yes you will need to rebuy the games on Steam if you want to purchase expansions on Steam.