Hi,
1) Yes all links between switches must be trunk. As a good practice you must manually set them to trunk.
2) Yes the Etherchannel would also be need to be set in trunk. And it will be the part of STP which will treat the Etherchannel as a single link.
3) Yes it is possible that STP might block the Etherchannel to avoid loops. But you can choose the right switch which should be either A or B as the root bridge and then calculate the STP topology to find out the blocked ports
4) Yes, if you set either Switch A and B as the root then one of the uplinks on Switch C and Switch D will be in blocking.
Please rate helpful posts.
Thanks & Regards
Zeeshan Sanaullah