1. While a miner hashes, will the nonce be reset on every new transaction added to the block?
The block the miner is attempting to solve is known as the candidate block. If the miner adds new transactions or replaces some transaction in their candidate block, then the Merkle root they calculate will be different and so their block header (the thing they are hashing) will be different. At that point, miners would reset the nonce field to zero.
Also note that the nonce field, being only 4 bytes, can be exhausted in under a second. The miner will then change something else about the block, usually incrementing the extraNonce field in the coinbase transaction, and reset the nonce. This happens constantly while the miner is trying to solve their block.
2. And if blocks are not full, are new transactions added instantly or is there some sort of "waiting time"?
It doesn't make sense for a miner to update their candidate block every single time they learn of a new transaction, as the pool would need to recompute their Merkle tree every time it does and then send the new block data to all their miners, which has an associated cost to it. How often a pool updates their candidate block is up to the pool, but I imagine most pools would be somewhere in the 5-30 second range.
The "nonce" is the random number stored in the coinbase transaction to change the block hash.
This is the extraNonce. The nonce is part of the block header.