Technically, a "process" is any running program. This may be a service (which runs all the time) or a non-service process.
First, determine exactly what kind of architecture the third-party program uses.
Some programs do start running on login, but are not actually services. More complex programs are split into two parts: a service which does run all the time, and a user interface process that starts on login (or on demand). It's not clear from your question which of these the third-party program is.
If the third-party program is a serivce (or has a service component), then it should be fine. Remember that some programs do have two parts: service and UI, and these programs are designed to have the UI come and go as users log on and off.
Next, you can try to make it a service even if it wasn't designed for it.
If the program is just a UI process and does not have a service part, then it may be possible to jury-rig it to work as a service anyway. First off, if you're planning on any kind of remote desktop scenario, then this probably won't work (multi-user scenario, and programs like this that aren't TS-aware tend to break).
At this point, it may be possible to get it to work as a service by using a program such as
srvany (part of the 2k3 resource kit tooks).
srvany is a service that just executes a program, so it acts as a service host for non-service programs. The problem is that some programs just don't behave well as services (a lot of the permissions are different). You'll probably have to configure it to be an interactive service, which opens up a security vulnerability called shatter attacks.
So, in short, it may be possible. I've had to do it once or twice. But you may decide it's best to just not go there.