Hey @Flowbginner
I think it would be easier to maintain if you have your items on one page and then change them depending on the required task (then pass that required task in as a parameter so that the questions and options change).
I'll give an example - I created a Health and Safety audit App, with multiple different types of audit and different tasks for every audit type (some up to 40 tasks at the moment), but the task-completion screen is just one screen that updates its title, description and available fields/boxes depending on which audit is being done (similar to your processes) and then depending on what task within the audit (similar to your subprocesses).
The parameter being used sets what the AuditID & TaskID is, and then it pulls that Title & description & everything else from a collection that I define when the App starts - this way I don't have to do options for everything, I just have to set the ID, and everything else just does something along the lines of:
LookUp( QuestionArray, AuditID = AuditParameterID && TaskID=TaskParameterID ).Title
LookUp( QuestionArray, AuditID = AuditParameterID && TaskID=TaskParameterID ).Description
LookUp( QuestionArray, AuditID = AuditParameterID && TaskID=TaskParameterID ).RiskLevel
etc. etc.
So the only things that change are the AuditID (Process) & TaskID (Subprocess).
It's something I would definitely consider in your case, as maintaining a hundred+ screens (assuming the numbers will expand) will become very unwieldy, and if for example you need to change one box for all the screens you will need to do 100 changes instead of just 1.
We should always try use PowerApps to Improve processes rather than to just replicate them.
If, however, you are still convinced that you need 100 screens, then the only way you will be able to do that is with a long If( or a long Switch( statement, as Screens are objects rather than values and can't be passed as parameters.
Cheers,
ManCat