If there is maintenance to the file, you could CHGPF to REUSEDLT(*YES). Only do this if arrival sequence is not important to you.
Another option is to create a LF over th PF. That will not include the deleted records. You do not have to specify a KEY so it should read fast.
You do not say how large the file is or if there is even a small window to clean it up.
Even if you cannot get a lock on the file, you can use SQL to insert the records into a temporary file, then SQL DELETE to clear the file and then SQL INSERT ot put them back from the temporary file.