Your requirement is not going to be handled with the built in Informatica scheduler. The built in scheduler is extremely basic.
So you are going to have to create a script that handles your specific situation or use a third party scheduling tool that has more robust scheduling options like control-m.
That's correct, but using a shell script that can be done way easier.
The shell script would, for example, be started via cron at 9 A:M:; then it looks for a source file and, if it finds any, it starts the workflow with a pmcmd command; after the workflow finished, the script will simply check whether it's already 11 a.m. and, if so, exits; if current time is before 11 a.m., the script will simply repeat its main loop (checking for a source file and either sleeping for several seconds or invoking the workflow via pmcmd).