А можно повесить onload не на body, а скажем на div.
Вот так:
<div onload="sel.selectedIndex = location.hash.replace('#', '')">
<select id="sel" onchange="window.location=this.value + '#' + this.selectedIndex">
<option>выберите поле</option>
<option value="/test1">1</option>
<option value="/test2">2</option>
<option value="/test3">3</option>
</select>
</div>