I have a similar requirement.
If folder1 and folder2 have different project root marker, it's possible to start multiple language servers via project-vc-extra-root-markers
.
But the tricky part is when it's started from folder2, it needs to cd to folder1 before executing the language server.
I achieve this by creating a wrapper script for language server and create a function that sets an environment variable before executing the script and does do complex things in the script.
It'd be nice if there was a better solution without depending on .dir-locals.el and etc, like passing a function for the server program so that I don't have to use a script + environment variable.
It's all probably against the policy but if there is a free port open, you can start ssh. If not, I agree there is no way to use local emacs. I would just try to compile emacs on the remote machine which is difficult restrict if the direct or indirect internet access is allowed.