<select name="A" onchange="loadDynamicSelect( this, 'variabile');">
<option uno </option>
</select>

<select name="B" onchange="loadDynamicSelect( this, 'variabile');">
<option uno </option>
</select>

<select name="C" onchange="loadDynamicSelect( this, 'variabile');">
<option uno </option>
</select>

<select name="variabile">
</select>

...nello script in heaad...
codice:
function loadDynamicSelect( __hSourceSelect, __nameDestSelect )
{
  var __hDestSelect = __hSourceSelect.form.elements[__nameDestSelect];
  __hDestSelect.options.length = 0;

  for (var i=0; i<__hSourceSelect.options.length; i++)
    __hDestSelect.options[ __hDestSelect.options.length ] = new Option( __hSourceSelect.options[i].value, __hSourceSelect.options[i].text );

}

io NON ho provato MA FORSE tutto il CICLO FOR si puo' sostituire con
__hDestSelect.options = __hSourceSelect.options;