Regarding appending an index, I certainly find that very helpful when I have multiple banks/channels/whatever.
As for hiding from the host, that’s a question I have posed here myself. With the old (and now deprecated) createAndAddParameter method, it was easy to pass in false for the isAutomatable flag for parameters you don’t want the host to show. But the new parameter types like AudioParameterChoice, etc., don’t have that ability. Apparently, because some hosts ignored that flag and showed the non-automatable parameters anyway, they decided to not make it a settable value in JUCE 6. So, the only way I know to handle that (if using the new parameter system) is to either 1) modify the JUCE parameter types to allow setting that flag, and making sure the flag’s value gets passed to the host when asked, or 2) making all non-automatable parameters not be parameters. Doing that, however, makes it a lot more difficult to use attachments to handle the Editor<->Processor interactions safely and efficiently.
We’re still using the old deprecated createAndAddParameter calls currently, and just have an FAQ for certain hosts that ignore the isAutomatable flag.
What would be really helpful is if there were a parameter attachment that was easily used for “private” parameters, and a “privateParameters” data structure as part of the base AudioProcessor class. but I haven’t seen a good solution in JUCE for that yet.