Sip, precisamente el Locate te sirve, y tambien te sirve para lo que quieres, puedes hacer lo siguiente:
El procedimiento donde tienes el "Locate" lo llamas cada que el usuario entre una tecla por ejemplo:
Suponiendo que el "codigo" a buscar esta en un TEdit
//procedimiento del Locate
Código:
procedure Tform1.Plocate;
begin
Query1.Locate('Codigo',edit1.text,[]);
end;
//Ahora en el OnKeyPress del Edit1
procedure Tform1.Edit1KeyPress(Sender :TObject);
begin
PLocate;
end;
espero te sirva