If by multiple instances of the same service, you mean different instances of the same executable, then sure. You just need to create multiple "service" entries for it in the service table, with different names and different command line options.
Grizly seems to be talking about a different thing, where several services run inside the same process, typically an instance of
svchost.exe. This necessitates that they use the same executable, though each service hosted by
svchost appears to specify a DLL and (optionally) a ServiceMain entrypoint in the
Parameters subkey of the service key. (Of course, the details of
svchost.exe usage don't appear to be documented -- probably to keep people from trying to do crazy stuff like loading some version of the .NET framework into one of the system-critical instances, which would eventually lead to some other service trying to load a different version of the framework into the same one, and that would be a complete mess...)