If I send IOTA to an address and it is in a pending state, can I generate a new address and send a second transaction or do I have to wait until the first one confirms? So is it ok to have 2 pending transactions to two different generated addresses?
Ok so first of all generating a new address, doesn't move any of your funds to the new address. So each address only contains the amount of iota which had been deposited before. This is the reason why it makes sense to generate a new address for each deposit, so you have the ability to send multiple, legitimate transactions at a time.
Yes, you are able to broadcast 2 transactions from the same address, not by using the Lightwallets, because this is prevented there, but by using the API.
There is no possiblity to make a double spend. Double spending means spending the same iota to two addresses. So only one of the contradicting transactions will be confirmed and executed.
It is not recommended to sign 2 withdrawls with the same private key (from the same address), because this will uncover a major part of your private key and your funds will be unsafe.