That's exactly what happened with the Civil Rights Act of 1964. In only a couple of decades, we went from a situation where the Federal government legislated "equal protection under the law" for all people, to one where the Federal government could send an Equal Employment Opportunity Commission representative to your place of business to issue a citation against you for failing to have enough people of certain "protected classes" working for you.
You've also missed a very important point regarding the Constitutional amendment issue. The purpose of a Constitutional amendment on the Federal level is not to "impose morality" on people -- it's to prevent the court or legislature in one state from using its own power to force its will on other sovereign states. By law, a marriage in one state is presumed to be legitimate in all other states. So a state like Alabama or Utah that has no interest in recognizing homosexual marriages could effectively be forced to do so just because one stae (Massachusetts) decided to recognize them.
This is why I use the hypothetical case of polygamists to make the point. There is absolutely no reason why a state court cannot recognize polygamy as a valid definition of "marriage" (in fact, as I've pointed out earlier, the Supreme Judicial Court of Massachusetts would have to rule its recent ruling on homosexual marriage invalid in order to reject a petition for recognition by a polygamist). And once that court does this, then your state will have to recognize the marriage as valid.
This may sound like nothing more than a libertarian "live and let live" issue, but your home state will be thrown into utter chaos the first time a public employee goes to another state to get "married" in this manner, then comes back and demands to have all of his "spouses" (three, four, or -- who knows -- maybe 4,000) covered by taxpayer-funded insurance and pension plans.