Often you may find that you want to run a large number of very similar jobs. Rather than directly submitting each task as a separate job, please consider using an array job. Having created the jobscript as you would do normally, add in the additional directive
#PBS -J 1-N
where N is the number of copies of the job you want to run. You may then qsub the jobscript once, and the system will run N instances of it. Each of these subjobs run independently of all of the others, and are identical except for the value of the environment variable PBS_ARRAY_INDEX. This will contain a unique value in the range 1-N, allowing you to select the particular input for that subjob.
You do not need to change the resource selection, that continues to specify the resources needed by the individual subjobs, not the whole array.
The system will run individual subjobs as soon as resources become available. Occasionally the system may re-queue running subjobs to free resources for larger jobs. Always write your jobscripts with this in mind. For example, consider what would happen if the re-run subjob detects partial output from a previous run.
When execution of the subjobs of an array job has begun, the qstat listing will show the state of the array job as "B" rather than "R". To see the progress through the array, use "qstat -t [jobid]" or look at the comment field in the output of "qstat -f [jobid]"