I just have two suggestions for the PortableApps Launcher for Firefox, both of which concern the AllowMultipleInstances parameter in FirefoxPortable.ini.
The first concerns the fact that, when this parameter is set to False, the PAL searches for any instance of Firefox.exe currently running then refuses to start if there is one. From what I can see though, Firefox and it's PAL doesn't create or use any registry settings that would cause a conflict if two copies of Firefox are running and the only files that get read and written are those in it's Profile folder, which is confined to %appdata% for non-portable Firefox and the Data folder for portable. That said, I haven't extensively checked this so I could be wrong.
My setup currently is that I have two copies of portable Firefox on my PC that each has a separate profile which has different addon configurations, different cookies and suchlike. If I left the two Firefox portable configs the way they are, I can only run one at a time as I would get a "Firefox Portable is already running" error if I try start the second. My solution to this is to set AllowMultipleInstances to True for both copies.
This allows me to run both simultaneously but I also have an addon (Open With) which I use to send tabs and hyperlinks from one to the other. The new issue here is that when I try to do that, I get an error stating that "Firefox is already running, but not responding. The old process needs to be closed to open a new window". Looking through the PAL source code, I saw that the reason for this is because when you set AllowMultipleInstances to True, the PAL adds the --no-remote switch to Firefox's command line, which blocks that copy of Firefox from receiving links.
My solution to this was to modify the source code to remove the --no-remote addition from that part of the code and re-compile. Now, I can run both of my portable Firefox copies at the same time and pass data between them. I have been running it this way for the last two weeks or so and haven't noticed any issues so far.
My first suggestion is to either modify the AllowMultipleInstances parameter or add a new parameter to the INI file. This change would prevent you from running multiples copies of the Firefox that is in the PAL's App folder but allows you to run any Firefox that is outside that folder, including other copies of portable Firefox. This parameter also would not add anything to Firefox's command line (either --no-remote or --new-instance) as this would not be required.
The second suggestion concerns the fact that when you set AllowMultipleInstances to True in the INI, the PAL adds the --no-remote switch to Firefox's command line. Could you please look into passing the --new-instance switch instead for Firefox 67 onwards. Basically, this switch does most of what --no-remote does except that Firefox can still accept remote commands (e.g. URLs passed to it). This switch was previously not working for Firefox on Windows but it has now been fixed for v67: https://bugzilla.mozilla.org/show_bug.cgi?id=1535144
This second suggestion would apply to AllowMultipleInstances if it is left as-is and my first suggestion is applied by adding a separate parameter.