What is the number of transactions in a block? What determines the number of transactions that can be validated in a block?
The absolute limit is the size of the block, which is currently hard-coded at 1,000,000 bytes.  Each transaction takes up a variable amount of space, but ~250 bytes is about right for a simple (one-input one-output) transaction.

However as soon as a block is solved it is not possible to extend the block by adding in more transactions, as the proof of work has to be redone, so broadcasting it immediately is the only sensible thing to do. So the number of transactions in a block is actually a function of the number of transactions being generated over a time period and the time taken to solve a given block.

Blocks used to contain fewer than 200 transactions and the largest number of transactions in a block was 1,976 at the time this answer was originally written (May 2013). In meanwhile (November 2017) the average number of transaction per block is well above 1500 with peaks above 2200.