no me habia fijado que tenias onchange... mas bien me concentre en como invocabas la funcion y el procedimiento que este hacia.
![borracho](http://static.forosdelweb.com/fdwtheme/images/smilies/borracho.png)
de todos modos, la unica forma que esos valores persistan luego de una recarga, es que envies esos valores al servidor y que este los genere. digo, seria lo mas adecuado. ya en esta parte javascript no tiene nada que ver, sino lenguaje de servidor (asp, php, jsp, python, etc.) y probablemente una base de datos.
en javascript puedes recrear los options pero necesitas algun modo de almacenamiento. por ejemplo, cookies o local storage. la contraparte es que el navegador pudiera tener inhabilitado las cookies o no tener soporte para local storage. de ahi que la forma mas segura es enviar los options al servidor.