Wouldn't it be easier (and less risky to your hardware) to make the kernel lie about the device ID? Or modify the nvidia kernel blob to compare against another ID?
I'm sure they tried that. It is likely that the driver uses another "proprietary" way to read the ID as well and uses that as definitive answer.
Having said that, distinguishing in software would mean that open source drivers such as Nouveau won't see any difference between the cards and can advertise all the features always.