First, do all bitcoin miners, regardless of what pool they are attached to, mine the same single block? For example, if a miner is solo or several miners are in a pool and the block is solved, do all miners everywhere in the world stop work and then start mining a new block (next in sequence), ie one block at a time? Or can miners choose from a variety of blocks to mine?
All miners mine the same block - though this is a problem that most don't understand - that you must indeed switch blocks as quickly as possible, when someone finds a block.
Running a home bitcoin and a home miner pointed at, is much more likely to lose the block, than mining to a high performance pool.
Second, my layman's understanding of mining says that the input to create the hash is somewhat random? and largely based on the preceding attempts output hash. For example, an output hash is generated and that output is then used as input for the next attempt by the miner. Is this essentially correct?
https://kano.is/index.php?k=minedetThird, is the difficulty level based on the amount of leading zeros in the output hash? For example if the bitcoin algorithm is calling for a high difficulty level, then the amount of preceding zeros required in the output hash is much higher, but if the algorithm is calling for a lower difficulty then the amount of preceding zeros in the output has is lower?
Yes
See the bottom of the page I linked.