perchè tu assegni a una variabile, poi modifichi la variabile, non il campo

<script type="text/javascript">
<!--
function button() {
var d=document.forms["invio_dati"];
var radio=d.privacy;
if (radio.value=="si") {
d.button_invia.disabled = false;
}
else {
d.button_invia = true;
}
}
// -->
</script>