Di sicuro qualcuno ti rimprovererà perché usi ancora DAO; d'altra parte se il tuo scopo è velocizzare questo caricamento, il vecchio e superato DAO è il modello che fornisce le migliori prestazioni con database di Access locali.
Venendo al problema, un miglioramento di tipo tecnico può essere quello di aprire un recorset di tipo ForwardOnly, mentre, da un punto di vista applicativo, potresti pensare di far scegliere all'utente prima la provincia e poi caricare solo i comuni della provincia selezionata.
Mi lascia qualche dubbio quel DISTINCT della query, che ti carica un solo comune in caso di omonimia.