There are some things to consider when doing this.
1.Is the input file keyed. If it is, are you reading it by key. If so, you need to come up with some way of breaking the file into your 10 segments. It would be near impossible to get 10 equal segments.
2. I would also use the same Output file structure for all of the 10 output files. for the 1st pass you put in 01 for the Nway number.
3. You setup your CL to accept an input parm. Then call it with a parm of blank. This triggers your program to know it is the initial call.
4. In the CL you override to set the Input file to the correct RRN using the POSITION parm.
5. You override the output file to the correct Output by concatenating the input parm to a variable to set the file name.
6. You set a counter in the CL so you can have a loop and do 10 SBMJOBs in the program. I would use the variable you created for the output file as the Job Name in the SBMJOB.
7. Your RPG program has a counter to process only 1 million records then goes to EOJ. NOTE: IF YOUR FILE HAS DELETED RECORDS, you will need to use the INFDS to determine EOF by checking the RRN.
Now all that said, this may not reduce the overall run time by very much. Not know how your RPG program is setup or what it is actually doing we cannot give you advice on that. It may be Blocking your files or using SQL would help you more.