Consider
this a proof of concept.
It is an INIT that replaces the 'sysv' gestalt and always returns 0x0761. It loads its icon at boot (resource id -4064, feel free to edit in resedit). The return value is not customizable through a resource, but if you care and this works I might add it at some point. Let me know if this does what you wanted it to do, at least in concept if not specifics.
If you have access to CodeWarrior, you can edit the gestaltselector.c file and rebuild just the gestaltselector project, which will populate the selector's code resource in the SYSVInit file. Returning a value less than the system you're currently running caused me all kinds of issues, JFYI.
This contains the full source to the INIT:
sysvinit.proj: CW project file for the INIT resource. This just merges the generated INIT resource into the SYSVInit file.
sysvinit.c: the INIT code
ShowInitIcon.{c,h}: ye olde sample code for loading the init icon. I haven't modified it.
gestaltselector.proj: project file for the gestalt selector. This creates a 'GSLT' code resource and merges it into the SYSVInit file.
gestaltselector.c: The selector code. This is what gets called on Gestalt('sysv', ...). The selector is loaded into the system heap by the INIT code.
sysv check: a simple ANSI program that calls Gestalt('sysv',...) and printf's the result to verify the gestalt is actually being replaced and the intended value is being returned.