Hello Kimonas! Please confirm my way of thinking. I want to know if I understand palette slots vs palette IDs correctly.
There are 16 palette slots available, those being slots 0-15. Each of these slots consists of a dedicated spot in memory where particular palettes are stored. These particular palettes are represented by palette IDs. Only palette slots 0x0 and 0xA, or slots 0 and 10, are dynamic. This means that there are 14 slots in memory that are consistently filled with the same palette ID, while there are 2 slots in memory that are inconsistently filled with differing palette IDs. If a sprite is being drawn onto the screen and has a palette slot of 0x0 or 0xA, it's palette, represented by its palette ID, will fill that dynamic slot's memory area. This in turn means that we cannot have more than two sprites on the screen at the same time if they all use a dynamic slot, since there only exist two of them.
The Fire Red patch for making the other palette slots dynamic allows us to fit 16 different sprites onto the screen at the same time, assuming these sprites all use different palettes (they all all different palette IDs). If we add another sprite onto the screen with a unique palette ID, it will inevitably have to share a palette slot with one of the other sprites since there only exist 16 of these slots. This would result in a miscolored sprite to appear on screen until one of the other 16 sprites goes away.