This is most definitely possible (Hi Jim),
If you're working with a list of files that meet a certain criteria each time you run a job, all you do first is a 'list files' task that will return the file names as output in the first task. Then you create all of your tasks inside the loop as task 2 through X, using each line of the output of the List Files task as a variable. It will process everything it saw when executed and the next time it runs, it'll process anything it sees in the folder again.
You just need to ensure one of the steps in the loop renames the file or moves it out of the folder so it no longer matches the criteria and doesn't get processed again. I do this all the time.
Brian