Hola:
Tanto el select como el input deberían tener el mismo nombre, así que al ser un array se discriminaría por el índice:
<select name="dato" ...>
...
<input type="text" name="dato".../>
<label>discriminar<input type="checkbox" onclick="this.form.dato[0].disabled = this.checked; this.form.dato[1].disabled = !this.checked"/></label>
... fíjate que hay dos sentencias, que cambia el índice y que uno de los checked es negado...
Saludos