beh, perché gli elementi li devi creare nuovi:

codice:
for(i=0; i<data.length; i++) {
   var opt = document.createElement('option');
   opt.value = data[i];
   opt.appendChild(document.createTextNode(data[i]));
   document.getElementById('miaSubSelect').appendChild(opt); // se miaSubSelect è l'id della select
}
Considera però che questo sistema aggiunge nodi alla select, non li rimpiazza, per questo dovresti cancellare il contenuto della select prima.