No, è davvero poco sensato (e poco performante).
Magari puoi/dovresti cercare di ragionare "al contrario". Invece di fare "per ciascun idNumber della lista lo cerco nel file" (che effettivamente vuol dire ri-elaborare il file), fare il contrario: "leggo una volta sola il file e per ciascun record vedo se il id è uno di quelli che sto cercando"