Semana passada precisei fazer isso: alterar o valor de um campo radio a partir de um evento, que é feito de uma forma um pouco diferente que em outros campos, como uma caixa de texto comum, por exemplo.

Criei um modelo comentado para que você possa utilizar, caso precise. Para testar, copie em qualquer editor de texto simples (Notepad no Windows ou Gedit no Ubuntu) e salve como qualquercoisa.html Caso tenha dúvidas, poste nos comentários! 🙂

<html>
  <head>
    <script type="text/javascript">
      function mudaRadio(posicao) {
        /*
        Pela função "mudaRadio" é passada uma variável, que é a posicao do campo radio.
        Num grupo de radios, cada um tem um índice, que começa de 0, ou seja,
        o primeiro radio possui índice zero, o segundo índice um e assim por diante.
        Na linha abaixo, o valor do radio é alterado de acordo com a posição passada.
        */
        document.forms[0]['cores'][posicao].checked = 1;
      }
    </script>
  </head>
  <body>
    <form name="formulario">
      <input type="radio" name="cores" value="azul" />Azul
      <input type="radio" name="cores" value="verde" />Verde
      <input type="radio" name="cores" value="vermelho" />Vermelho
      <input type="radio" name="cores" value="amarelo" />Amarelo

      <br /><br /><br />

      <!-- O evento utilizado foi o onClick, mas poderia ter sido outro, a depender da sua necessidade -->
      <input type="button" name="btnAzul" value="Azul" onClick="mudaRadio(0)" />
      <input type="button" name="btnVerde" value="Verde" onClick="mudaRadio(1)" />
      <input type="button" name="btnVermelho" value="Vermelho" onClick="mudaRadio(2)" />
      <input type="button" name="btnAmarelo" value="Amarelo" onClick="mudaRadio(3)" />
    </form>
 </body>
</html>