Ciao,
diversi consigli per te .
Innanzitutto io cambierei la query con questa:

$query = "select distinct(regione) from vini where 1 order by regione ASC";
$result = mysql_query($query);
while($dati = mysql_fetch_array($result){

}


Per ricavarti le provincie ecc.. basta che sostituisci il nome del campo tra le parentesi.

Un'altra cosa, questo è un consiglio a titolo di organizzazione del database, quando nei record devi inserire nomi di regioni o provincie, per semplicità, ti consiglierei di crearti 2 ulteriori tabelle, una chiamata regioni e l'altra provincie, ed inserire l'id univoco che indica la regione/provincia nei record dei vini.