1) Do you have to have the addresses on "Receive" in order to receive the coins, or can you receive coins by giving the address straight from the "Addresses" tab? I assume you don't need to since you still own the private key but just in case..
A- You can copy the addresses and receive to any of those addresses from the address tab. You can either choose to do this or you can just stick to the receiving address that electrum newly generates for you after a payment has already been received on the old one.
2) Can I import the list of addresses so I don't need to open Electrum every time I need an address? I saw that exporting "Labels" only exports the ones where you added a label name, I just need the list of addresses. Also I had 2 addresses with 2 labels and the resulting .json file had it in the wrong order (Label for the addresses was flipped for some reason)
A- I used to be able to run
in console to view all my receiving addresses. It's been a while since I've opened up my client to retry this, but you could give it a shot and let me know if it works? Also, there's a good post here
https://bitcointalksearch.org/topic/m.7378379 on how you can print a list of addresses with 0 balance and no transaction history.
3) What happens when I run out of addresses from the "Address" tab and I need new addresses?
A- Electrum will keep generating a couple of addresses for you everytime you use one of them. You can also change how many addresses electrum can generate for you by adjusting the gap limit -
wallet.change_gap_limit(30)
wallet.storage.write()
After this restart Electrum.