I don't see the Republican party lasting too much longer in its current form (super-religious, super white, etc.).
Therefore, I think the two party system will have to split along different lines (i.e. gay marriage will be legalized and become a non-issue... other social issues will move in that direction too)...
Republican Party = Libertarian, fiscally conservative, socially libertarian live and let live.
Democratic Party = Fiscally liberal, not socialist but moving in that direction, socially still more liberal and using the government to solve social problems.
I could actually see Republicans becoming competitive in states like New Hampshire, Maine, Connecticut, Oregon, Pennsylvania, Wisconsin, Minnesota, Michigan, Iowa again... and Democrats becoming competitive in Texas, Georgia, Arizona, etc.
Doubtful. The opposition to those issues is based on religious conviction, which is not something that will be eroded over time.
If I'm not mistaken (I'm no religion expert) I think that more progressive Christians are attempting to "read between the lines" of the Bible, looking for ways to make room for new concepts such as gay marriage. Also, (again I'm not sure about this) I think that partially because of this, Christians in general are warming up to the idea of gay marriage and other mildly heretical socially liberal ideas.
Also, in
first world countries (I'm not suggesting the whole world), religion
does appear to be slowly "eroding". The religious category "None" which includes non-specific-theism, atheism, and agnosticism, is the fastest growing category in the US.
No matter which way I look at the picture I don't see particularly good medium-to-long term prospects for the Republicans unless they shuffle themselves a little bit closer to the center of the spectrum.