I'd like to start a process when the PC starts up but before the user logs in. Then, after the user logs in they see the console/gui for already running process. If they logoff, the process will continue to run in the background until they log back in again.
Is this possible in Windows Server 2008 R2?
It seems perfect for daemon/server applications.
That's exactly what "services" are for in a Windows system.
Regarding the console/GUI thing: there was an option for services to enable them to interact with the system's console, so a service could have been allowed to display windows on the system. But this feature has been removed in Windows Server 2008, so, no, in Windows Server 2008 R2 there's no way for a service to display any window on the desktop. The only solution is using a control application which somewhat "talks" to the service and monitors/configures/manages it (such as MMC consoles).