Potresti cercare di raggruppare tutte le INNER JOIN all'interno dello stesso statement SQL, anche se esso diventerebbe abbastanza complesso da interpretare e modificare da parte del programmatore.
L'alternativa - che però richiede uso di codice - è impostare query parametriche. A designtime, imposti la proprietà SQL della seconda query usando dei parametri (identificatori preceduti dai due punti).
Ad esempio:
codice:
SELECT * FROM Clienti WHERE ID = :IDCliente
Quando hai eseguito la prima query, definisci il valore del parametro nella seconda query con la scrittura
codice:
Qry2.ParamByName('IDCliente').AsInteger := Qry1.FieldByName('ID').AsInteger;
ed esegui anche la seconda query, magari associandole una griglia.
Questo tipo di approccio ti permette di definire in fase di progettazione gli statement SQL da eseguire, inserendo degli identificatori segnaposto (parametri) di cui andrai poi a definire il valore tramite codice, prima di eseguire la query stessa.
Non so se era proprio questo ciò che intendevi, ma credo che non ci siano tante altre soluzioni.
Ciao!