Threads in the same process are just as concurrent as threads in different processes. For example, they can be scheduled on different processors in both cases. The difference is that separate processes are isolated from each other, which can be good if there is a bug, but it can also make sharing data between threads in different processes slower or more awkward than between threads in the same process.
The TestStand engine can execute in more than one process and the TestStand synchronization steps can synchronize and pass data between threads in the same process, different processes, or even different machines.
Whether or not you can launch more than one instance of a TestStand editor or operator interface application depends on whether the particular application was written to be multi-instance or single-instance.
In a sequence, you can use the Call Executable step to launch (and optionally wait on) another process. You can also directly start other processes by calling the Win32 sdk with the DLL adapter, or by calling a code module that starts another process.
You might also be able to call a subsequence in a separate process by specifying the call as a remote call, while passing the local machine as the destination. This is just a theory I have. I've never tried it.