Regarding "mapper #2" (NES-UNROM/UOROM):
1. You are correct; the value you write to $8000-$FFFF is a 16KB bank number that then gets swapped into $8000-$BFFF (and the last 16KB bank in the ROM gets mapped to $C000-$FFFF). Note, however, that the UNROM board only handles up to 128KB of PRG ROM and the UOROM board only handles up to 256KB of PRG ROM, so you should be masking off the upper 4 (or 5) bits of the value written.
2. You just allocate 8KB of RAM at PPU $0000-$1FFF and let the game write data to it (and read any data back from it). If you do not allow writes, you'll get nothing but a black (or whatever the background color is) screen (and the game will likely lock up).
P.S. If you don't get this note, let me know and I'll write you another.