per fare una cosa veloce puoi
1) estrarre dall'elenco tutte le parole con lettere accentate tramite regex, tipo:
Dim r as new Regex("[àèìòù]")
dim mc as MatchCollection =r.Matches("tuo testo")
for each mc as Match in mc
..
next
2) ordini il primo elenco senza accentate
3) ordini il secondo elenco con accentate
4) fondi i due elenchi ordinati
Se hai più tempo puoi fare le cose per bene utilizzando Linq + regex e implementato IComparer su una tua classe.
facci sapere ;)
v