I have several different projects open in different vim windows so that I can have on project open in each of my two monitors, but I need to have a large number of projects open and navigating between so many instances of gvim is awkward.
I want a system where I can have two x-windows open on the same vim server, sharing the same buffers and registers, etc. Is this at all possible?
No, this isn’t possible in Vim. I think Emacs has this separation, where you can connect multiple clients to a single server.
I’d suggest using one instance of Vim for each project.