Why does the Bitcoin client require at least one confirmation before I can spend? If I accept bitcoin for payment, provide a new address for each payment and make it clear to payers that I consider payment complete only after waiting the ~10 minutes for a confirmation, is there a technical reason why I can't immediately spend the bitcoin without waiting for the confirmation? Is it impossible to spend it because the address has no transactions in the block chain?
There is no technical reason you can't spend it immediately. A transaction that is dependent on an unconfirmed transaction should be accepted by the network and should eventually make it into a block.

You will almost certainly have to include a transaction fee with the second transaction in order to get it accepted into a block immediately. Otherwise, you will be waiting some time before the second transaction gets committed into a block.