La idea puede ser una variable de tipo texto en donde vayas guardando los campos, separados por coma....
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
var
MisCampos:String;
begin
MisCampos:='Clave,Empresa';
Query1.Close;
Query1.Sql.Clear;
Query1.Sql.Add('Select '+ MisCampos+ ' from Clientes');
ShowMessage(Query1.Sql.Text);
Query1.Open;
end;
Un Saludo.