My own accent changes with company, and even topic of conversation. My Canadian accent is far more pronounced when I'm engaging in deep intellectual discussion, while my American accent is far more obvious in small talk. I can even change mid conversation if somebody says or asks something that prompts me to go into a lengthy monologue.
I'm not so sure. Accents, much like dialects, are most commonly associated with locations, but they very often exist across other divisions that impede communication like class and social status. While I wouldn't be surprised to see location-based accents fade, I suspect the others should remain prominent for a good long time.