Si estás trabajando con Delphi 2010 o superior, puedes hacerlo fácilmente usando la unit RTTI, mediante el objeto TRttiContext. Busca en google más info sobre éste y encontrarás mucha información sobre él, cómo leer / escribir propiedades por nombre, etc...
Por ejemplo:
Código Delphi
[-]procedure SetProperty(propname: string; value: TValue; obj: TMyObject);
var
context: TRTTIContext;
rtti: TRTTIType;
prop: TRTTIProperty;
begin
context := TRTTIContext.Create;
rtti := context.GetType(TMyObject);
prop := rtti.GetProperty(propname);
prop.SetValue(obj, value);
end;
Sólo deberás tener cuidado con el tipo de la propiedad. Si es string, deberás pasarle un string a value, si es int, deberás pasarle un int, etc...
Si estás trabajando con una versión anterior, la cosa se complica un poco, pero sigue siendo posible. Google te lanzará mucha información si buscas "RTTI".
En cuanto a encontrar componentes en un form, simplemente sería haciendo
Código Delphi
[-]
for I:=0 to ComponentsCount - 1 do begin
if Components[i].Name=TuNombreLeido then begin
seteaPropiedad(nombrePropiedad, Components[i])
end;
end;
Un saludo,
LoPiTaL