In windows for games that use key discs I use a CD emulator (Alcohol52%) which mounts an image as if on a hardware CD (not for pirating games but simply to avoid the need to keep on putting CDs in my drive).
Under linux one can mount an image using loopback but how to then have this image appear to the game running under Wine as a CD in a drive - the games in question use an ioctl to check for the CD,