Dipende come vuoi utilizzare il dato.

JS e` in grado di leggere anche il testo di una option:
var ss = document.NOMEFORM.NOMESELECT;
var testo = ss.options[ss.selectedIndex].text;

Ma se devi spedire il dato al server, e` piu` conveniente fare come proponevi:
<option value="AO|Aosta">AOSTA</option>

che poi puoi splittare lato server.