If a large sell order hits many bids from the book, is the order filled at once? Or is it filled one bid at a time with a chance for any new orders to come in between each trade?
Most exchanges will cross a large order with numerous smaller orders so long as the large order sufficiently crosses the book to cause a fill. This is obviously dependent on specific instructions on the large order causing the cross as well as the orders on the other side of the book.
As for the second part a new order coming in should only cross with the large order if it offers price improvement over other orders in the book as they will have time priority. A single large order will sweep the other side of the book to fill and this typically happens in a single atomic step although I don't believe that there is any requirement to do so.
It depends if the large incoming sell order is a market order or a limit order.
If it is a market order, it will immediately "sweep" through as many levels of the bid book as neccessary to get the required volume. There is no chance for someone to add more bids to execute against the market order.
A limit order will execute against all the bid volume that it can without selling below the limit price. Then the remaining volume will go resting in the book, at which point there is a chance for new buyers to come in and execute against it.
Here is a good mental model. The exchange's matching engine processes incoming orders one at a time: all effects of an order on the book are settled before any further incoming orders for the same instrument are looked at.
So, when a marketable order comes in, it is matched against resting orders "atomically", producing one or more fills. If this completely fills the incoming order, that's it. If some part of the order could not be matched, the remainder is either placed on the book or cancelled (or in some cases routed to a different exchange). Any subsequent incoming orders wait their turn until all of this is done.
With many modern matching engines all of this happens very quickly: for example, BATS claim an average order matching latency of 200 microseconds. I understand this even includes a network roundtrip.