Fonts can use any color register. Color0 does however have a few things attached to it. The main one being it's used for transparency so should be avoided for moving gfx if a person doesnt want the graphics to be seen through. This isnt always the case, but it something to consider.
As for sprite colors (16-31), technically they dont need to be locked throughout the game, but the cursor is a 16 color sprite so altering the palette would also alter the sprite. A different cursor per theme would be one way to get around this, but sprite colors are still 16-31 regardless.
Not exactly exciting stuff yet, but this is how its looking at the moment with its placeholder graphics: