The closest I got were two memory addresses that change with the current level, and take their ids for a list that's also used in the "this is a work in progress" screen. However, it turns out that those IDs are not their true internal level code.
Those memory addresses were FFA52B and FFEE23, the latter one documented at TCRF along with FFEE20 as being part of said "work in progress" screen. So I thought, what could the inbetween values do?
And there it was, FFEE21, which admits values between 01 and 3B:
FFEE21:XX Current level 00 Blank 01 SEGA logo 02 SEGA Interactive logo 03 Enter password 04 Scene "XXXX" This Level under construction 05 Life lost 06 Continue Screen 07 Game Over 08 Ending 09 Cutscene: Glitch zaps Garfield inside the TV 0A Title 0B Cavecat 1 0C Cavecat 2 0D Pirates 2 0E Cavecat boss 0F ??? 10 ??? 11 ??? 12 Movie countdown 13 Pirates boss 14 Terror 1 15 ??? Ending with intro music and garbled Jim Davis signature 16 Pyramid 1 17 Noir 1 18 Noir boss 19 Intro 1A Info screen 1B Credits 1C ??? 1D ??? 1E ??? 1F Overworld 20 Moon 21 Pirates 1 22 Pyramid boss 23 Terror boss 24 Final boss 25 ??? 26 ??? 27 ??? 28 Commercial break 29 Bonus stage 2A Level password 2B Options 2C ??? 2D ??? 2E ??? 2F ??? 30 ??? 31 ??? 32 ??? 33 ??? 34 ??? 35 ??? 36 ??? 37 ??? 38 ??? 39 ??? 3A Opening blue window 3B Level select ... Blank
It's interesting to see how there's three distinct groups of unused levels. I'd say this would hint at them reserving space for Slobbin' Hood, Bonehead the Barbarian and whatever the Ancient Rome level was going to be called, but other lost levels might have belonged to those level slots at one time (the train stage in Catsablanca, for example).
Oh yeah, the Moon level. How do I know that slot belonged to it? Try using the code FFEE21:20 in any level and watch Garfield jump with slower than usual physics. Also, light saber sound effect.