Bien explicado. 
  
En el ejemplo que describes, la variable 
receptor   es una cadena y tu pretendes tratarla como un objeto. 
Para que te funcione tal y como quieres te faltaría "
evaluar  " el valor de 
receptor   con la función 
eval()   de la siguiente manera:  
Código:
 function ilaform() {
receptor = eval("window.top.opener.document." + document.form1.elform.value + "." + document.form1.elcamp.value);
receptor.value = document.form1.ca.value;
}
  No creo que te haga falta nada más.
Pruébalo. 
Saludos,
Mikel     
<style>.t{font: 8pt verdana; text-decoration: none; color: black;}</style><hr><span class="t"><a href="mailto:
[email protected]" class="t" style="font: 10pt;">Mikel Gómez</a><br>Hay que aprender mucho para saber poco.</span>