How do I set a separate user preferences for Blender Portable?
I guess you could try to alter the BLENDER_USER_CONFIG (Directory for user configuration files) environment variable when using portable or installed version,

as specified in manual

like starting blender with a little script that sets/resets the env vars to what you need...

Both the manual (link above) and also "blender --help" output state that you can use those env vars. 

The only other method I know of is what was suggested by @DuarteFarrajotaRamos with the linked other question, much simpler, no scripting required, and allows also multiple different blender instance to run toghether each with different config/preferences, if needed: this is also explained in manual here.

If this is not working it could be due to some different behavior of those "portable apps" you're using, maybe. You coul try to use an official archive, extract and run it. I tried and by just copying the "config" folder into the 2.79 folder gave me a separate configuration/preference set.