I haven't tried the --portable option in Windows, hopefully it allows you to start a session from the command line (or a shortcut) by specifying the session file.
That is independent of --portable, as far as I can tell from x2goclient.exe --help, so it *should* (IOW, I haven't tested it) be possible with settings saved in the registry as well: The parameter to do that is --session=<session>, where <session> is the ID-string of a session saved either in a sessions file or in the registry.
Yep, it does work with registry settings but you then specify the *name* of the session, that becomes impractical if you use files to store the session, you would have to parse through all session files to see which one contains the session you want to start. Not a problem if you have a few files stored locally, probably not ideal if you have a (slow) network folder with hundres of session files.
Using the name of the session file is a simpler approach, something like "x2goclient.exe --portable --home=<path> --session=<name of session file>". Might be confusing if the same parameter is used for registry and files, maybe they should be separate, i e "session=<registry>" and "sessionfile=<session file name>". That way the --portable switch becomes redundant, it's implied if you specify --home. If --home is specified and no --sessionfile you could let the user browse available sessions in the client.
Just my $0.02 ...
Cheers, Daniel