TLDR; habiter is used most often when referring to where one lives, vivre is most often used to express how one lives.
Nah. This is just historical nonsense based on an old French regional dialect, correct common French is "à Avignon" and "à Arles". There's no grammar rule supporting an exception for Arles and Avignon.
No one will fight you for using "en" for Arles and Avignon, some French people use it as well, but be prepared to get corrected.
Absolutely no nonsense here - and it doesn't come from any dialect either ! "Aller en Avignon" used to mean you would go to the County of Avignon, not to the city itself. The use of "en" has lasted even if the county has disappeared. Maybe because in "à Avignon" the repetition of the "a" doesn't sound very well.
It's considered that it may come from provençal, which is an old French dialect. In provençal you used to add an "n" after the "à" with cities starting with a vowel.
And yes, there's also the theory based on the county of Avignon, but that wouldn't explain much regarding Arles and Alger, so this one I'm not really buying.
And regardless of where it's coming from, the fact is that there's not a single grammar rule in standard French supporting the use of "en" for any city. Especially not just for a few cities but not the others (no, the repetition of "a" doesn't work because if that was the rule we would say "en Annecy" or "en Angoulême" as well, and any other city starting with "a", which isn't the case).
That's why I consider all this historical nonsense.
In English, "to" means you are moving, "in" or "at" mean you're not.
In French, the distinction between moving or not is made through the verb. The preposition won't change :
à for a city : j'habite à Paris, je vais à Bruxelles. en for a country : je vis en France, je vais en vacances en Italie.