Assuming you always write to PPUADDR in pairs, is it sufficient to reset the VRAM address latch by reading PPUSTATUS just once near the beginning of NMI?
Or should you always reset the latch before writing to PPUADDR to be safe?
It all depends on what's going to get interrupted.
Suppose all the writes to PPUDATA occur in NMI, and IRQs are disabled. Nothing would get interrupted at that point, right? In that case, is it safe to reset the latch just the one time?
Yes, it's safe to reset it just once. If your NMI has the potential to be long enough, you may want to make sure it doesn't interrupt itself, but I doubt it's a problem.
I've seen very few games, actually only one I can think of, that always read PPUSTATUS before setting the address. Myself, I read it in every NMI.