Eu tô estudando AJAX com jQuery.. dá uma olhada.. você vai precisar do jQuery:

script corrijido para versões jquery 1.4.2

index.php

<html>
<head>
  <script type="text/javascript" src="jquery-1.4.2.min.js"></script>
  <script type="text/javascript">
  $(document).ready(function(){
    $("select[name='nome']").change(function(){
      var endereco = $("input[name='endereco']");
      var telefone = $("input[name='telefone']");

      $( endereco ).val('Carregando...');
      $( telefone ).val('Carregando...');

        $.getJSON(
          'function.php',
          { idCliente: $( this ).val() },
          function( json )
          {
            $( endereco ).val( json.endereco );
            $( telefone ).val( json.telefone );
          }
        );
    });
  });
  </script>
</head>
<body>
  <form action="" method="post">
    <label>Nome: <select name="nome">
      <option value="">--</option>
<?php
  include 'function.php';
  echo montaSelect();
?>
    </select></label>
    <label>Endereço: <input name="endereco" type="text" disabled="disabled" value="" /></label>
    <label>Telefone: <input type="text" name="telefone" value="" /></label>
  </form>


  <div id="test"></div>
</body>
</html>

function.php

<?php
  $con = mysql_connect('localhost', 'root', '123');
  mysql_select_db('test', $con);

  /**
   * função que retorna o select
   */
  function montaSelect()
  {
    $sql = "SELECT `idCliente`, `nome` FROM `cliente` ";
    $query = mysql_query( $sql );

    if( mysql_num_rows( $query ) > 0 )
    {
      while( $dados = mysql_fetch_assoc( $query ) )
      {
        $opt .= '<option value="'.$dados['idCliente'].'">'.$dados['nome'].'</option>';
      }
    }
    else
      $opt = '<option value="0">Nenhum cliente cadastrado</option>';

    return $opt;
  }

  /**
   * função que devolve em formato JSON os dados do cliente
   */
  function retorna( $id )
  {
    $id = (int)$id;

    $sql = "SELECT `idCliente`, `nome`, `telefone`, `endereco`
      FROM `cliente` WHERE `idCliente` = {$id} ";
    $query = mysql_query( $sql );


    $arr = Array();
    if( mysql_num_rows( $query ) )
    {
      while( $dados = mysql_fetch_object( $query ) )
      {
        $arr['endereco'] = $dados->endereco;
        $arr['telefone'] = $dados->telefone;
      }
    }
    else
      $arr[] = 'endereco: não encontrado';

    return json_encode( $arr );
  }

/* só se for enviado o parâmetro, que devolve o combo */
if( isset($_GET['idCliente']) )
{
  echo retorna( $_GET['idCliente'] );
}


Usei php, e banco de dados MySQL.

Mas você conseguindo gerar o objeto JSON com a tua linguagem server-side, o script jquery que postei, se encarrega do resto do trabalho.

Em funcionamento:

http://www.wbruno.com.br/scripts/combo-preenche-input.php