Technically the rules let you completely ignore the restrictions, but they're really not hard to follow. It's just that there's a particular restriction which is a pain to actually enforce (10 8-wide sprites per scanline), and thus if you're aiming for authenticity and not using the actual hardware you should really only use it as a reminder to not spam sprites and not make your sprites too wide. (If you want it strictly enforced, it's better to just use "actual hardware" and by that I mean you'll probably use an emulator.)
On real hardware it's fairly typical to use 8x16-sprite mode and combine a bunch of sprite objects together. I'd imagine that Pokemon pairs sprites together, one next to another, to get 16x16 sprites.
The Sonic games for the Sega Master System, which has similar hardware, combine 4 of these to form a 16x32 player sprite. (The Mega Drive games most likely take advantage of the fact that you can set the sprite size to 16x32. I've not confirmed that this is what the games do, but I know that the hardware lets you do this.)
Remember that sprites have transparent pixels, and thus can have an effective size smaller than what you would actually use.
If you aren't using real hardware you can just straight up use e.g. a 24x12 sprite - on real hw you would pad the height out to 16 by using transparent pixels and it would end up being 3 8x16 sprites.
32x16 is fine, although because of the sprites-per-scanline limit tall is better than wide.
For the main tilemap any multiple of 8 for width and height will do, although if you don't use a power of 2 it'll be a bit weird. But still perfectly doable. But still weird. Either way, you'll want these aligned to an 8x8 grid if you're aiming for authenticity. Using 16x16 tiles tend to work well.
As for fonts, just use an 8-wide fixed width font, and when spanning several lines, step down by 8 or 16 pixels each time (it depends on the font height).