Gracias por aclarar más tu consulta.
La forma que menciones es correcta y debe funcionar, siempre y cuando la tabla_temporal esté abierta. Faltaría un detalle más o menos así:
datamodule.tabla_temporal.Fieldbyname('codigo').AsInteger o bien
datamodule.tabla_temporalCodigo.AsInteger si tienes los campos persistentes.
Si en la tabla temporal tienes 4 registros con códigos 5, 7, 7, 32, puedes usar este otro método:
Código SQL
[-]
Select * from tabla_original
where codigo in ( select distinct codigo from tabla_temporal)
que se traduce en seleccionar en la tabla_original, los códigos que haya en la tabla_temporal (es más lioso decirlo que ponerlo en práctica

):
Código SQL
[-]
Select * from tabla_original
where codigo in ( 5, 7, 32)
Espero te sirva.
Saludos