A.EBGP multihop will need to be configured for this to work.
B.This should work with normal BGP peering,with no additional configuration on the BGP speakers or the firewall.
C.The BGP protocol port must be opened on the firewall
D.There is no way to make BGP work across a firewall.