Demo time. So attached is what I was thinking. There are multiple ways of doing it I just went with the one I knew would work but might not be the best solution. Especially if the number of signals is more than 8.
Run the Main Selection Window.vi. Then pick the number of signals between 1 and 3 (sorry I didn't do all 8 but I think you get the idea). Then for each of the 1 to 3 signals select the signal that it should be reading, and the viewing option which is either Graph, Value, or Value With Other Data which in my case is the running mean of the signal. Then click start. It will insert 1 of 3 VIs into the subpanel depending on the number of signals shown. In each VI is 1, 2, or 3 subpanels which inserts the core VI Signal Signal View 1, 2, or 3 times. This is the only VI that is reentrant. The benefit of this design is window resizing works nice. If you resize the main window all the sub windows get resized in real time and work pretty well without any extra code. I also included a queue to send messages to the independently running VIs. Right now the only command is quit but you could use this to send any data to one window, or multiple depending on how it is coded. Now actually getting your data being read in multiple instances may also require yet another parallel running task. If you have something like DAQ tasks all running on the same hardware, then you will likely need to publish that to a more global data space, so that each of the parallel running VIs can grab the signal they care about. In my demo I just used randomly generated data so each of them can run in parallel without having any hardware resource locking issues.
Signal Selection Demo.zip