In the last update there was some talk about an eight byte long array starting at offset $2CC which contains the sprite IDs of the sprites visible on the screen. There's one pre-defined ID for each kind of sprite, not for each individual sprite (two monsters of the same type will share the same ID).
Today's update is very short, in fact it only contains an overview over these sprite IDs. They are the same IDs that are used in the level data to specify the monsters present on each screen. This was not yet discussed on this website but it's explained in Vagla's document.
The IDs from this ID pool aren't just given to monsters though. They're also given to the magical attack sprites of the enemies, NPCs and even items like wing boots or potions which can be found. As I'll show in a later update there's what I call a sprite definition table that contains information about the individual sprites. This sprite definition table contains 102 entries but many don't seem to be used.
I've taken snapshots of as many sprites I was able to bring to the screen using a minor ROM hack. These eighty-something snapshots can be found in this archive. The filename of the individual snapshots is coincidentally the ID of the sprite you can see in the snapshot.
Interestingly there are 6 enemies in the Faxanadu ROM which never actually appear in the game. The IDs of these enemies are 18, 29, 36, 39, 43, 70 (all decimal). Two defined NPCs also never actually appear in the game. The first one is the lovely blue lady with ID 53, the other one is the child with ID 54.
I stand corrected. They are similar, and they fire the same sort of projectile, but a side-by-side comparison shows their differences.
Anyway, its cool that you've done some analysis and disassembly of this game. While it wasn't perfect, it was a pretty decent sidescroller.. and the ambience/atmosphere/creative design of this game from graphics to music really set it apart for me.
People have made patches and new versions too, like the "fast xanadu remix" among others.