If I generate an address in Bitcoin QT, and send myself the balance of my wallet to that address does it destroy my change and generate a single output of a size equal to my balance?
Yes. (Although if your change is spread out among enough outputs, you may run into some issues with transaction fees being required and not having enough balance to cover the costs of the transaction fees).
I want to kill two birds with one stone here, so I have a second question. If I generate an address, can I be sure that my client has never used it as the outgoing address in transfer?
Yes. Once Bitcoin-Qt uses an address for receiving change, it will not later provide that same address to you when you click the button for a new address.
Can I check the blockchain for this kind of thing?
Sure.