"La formule " en Avignon ", si elle permet d’éviter un hiatus quelque peu dissonant, est toutefois incorrecte lorsqu’elle s’applique à la ville contenue dans ses limites communales. Son emploi dans ce cas est souvent le fait de l’ignorance ou d’un certain pédantisme basé parfois sur des nostalgies d’Ancien Régime.
Car historiquement, la formule a été employée durant des siècles de manière tout à fait justifiée. En effet la préposition " en " désigne le lieu, " dans ", comme être " en Afrique ". Or, il faut savoir que depuis le XIVe s. le territoire d’Avignon, couvrant plusieurs communes actuelles, constituait un état à part entière appartenant au Saint Siège et gouverné par un vice-légat jusqu’en 1791. On résidait donc " en Avignon ", comme on pouvait résider " en Languedoc " ou " en Provence " etc. Seule autre exception " en Arles ", puisque Arles fut royaume au IXe s. Mais on n’a jamais habité " en Angers " mais " à Angers " et " en Anjou ". L’usage a voulu que l’on tolère de nos jours encore les expressions " en Arles " ou " en Avignon " pour désigner la région autour de la ville, le " pays " formé par les environs, sans limites administratives bien établies."
En revanche....
En Français, on emploi « à » devant les noms de villes, « en » pour les provinces et « dans » devant les noms masculins de provinces commençant par une consonne (dans le Nord par ex).
En Avignon c'est la province, mais à Avignon c'est la ville!
Ensuite, la Province d'Avignon... Avignon au XIVème S, regroupait plusieurs communes actuelles, constituant ainsi un état à part entière appartenant au Saint Siège (une province). On résidait donc "en Avignon ", comme on pouvait résider "en Provence".
Donc lorsqu'on parle de la ville d'Avignon, on dit à Avignon...