I am a little confused on why you would want to do so many subset analyses. It is often better to fit a single model using Batch, Stream, P1, P2, P3, and P4 as inputs to see how they impact Y. JMP will automatically ignore rows with missing values. One analysis using all available data. That is typically the best approach.
It sounds like you want to have Y=f(P1) for S1. Y=f(P2) for S2, etc. I think these steps will meet your request, if I understand it properly. To illustrate I made up some data that matches your example, and I have attached it with a script for the analysis.
Choose Analyze > Fit Y by X.
Specify Y as Y. Choose P1 as the X.
From the Bivariate Fit red triangle, choose Fit Line (I assume this is the analysis you wish to perform).
Go back to the Bivariate Fit red triangle and choose Local Data Filter.
Under the Local Data Filter section, highlight Batch and Stream, and click the "+".
You can now choose any Batch and Stream combination and JMP will update the analysis for that subgroup. Note that using the six rows you mocked up in your original post, you will not have enough data to perform regression for many of the subsets. So, I hope you have more data than your mockup.
Now, to switch the P1 to a different P# column, do this.
Go back to the BIVARIATE red triangle and choose Redo > Column Switcher.
In the dialog that appears, select P1 and click OK.
In the next dialog, select P1 through P4 and click OK.
Clicking on a different P# will automatically switch the X-axis on the analysis.
I do believe this will give you what you requested, but I would encourage you to consider a single analysis rather than multiple analyses and this "subsetting" of the data.
Dan Obermiller