What is the smallest window of memory that can be individually mapped by any mapper
Technically the only limit is on a byte level, So it's theoretically possible for every byte to be individually mapped.
Realistically, the smallest mappings I've seen are 1K for CHR, 8K for PRG-ROM in actual ROMs, but 4K for NSFs.
Additionally, MMC6 has 1K of PRG-RAM that gets mirrored across 4K address space... and each 512 bytes of that 1K can be individually disabled.
For purposes of emulation, I just use 1K CHR and 4K PRG, and have special read/write handlers to handle the other rare instances.