1) How many nodes can each CCB support if MAX_FILE_DESCRIPTORS can be configured large enough?
I don't recall that we've ever found the limit. In practice, I imagine it depends on the security settings as much as anything else.
2) If I specify multiple addresses in CCB_ADDRESS, will all the specified CCBs be connected?
Yes. Other daemons will select a CCB to use from their advertised list at random.
3) If I run multiple CCBs on one server and assign different ports to them following a guideline available at https://htcondor-wiki.cs.wisc.edu/index.cgi/wiki?p=HowToConfigCollectors and include those CCBs (bound to different ports) in CCB_ADDRESS of execute nodes, will there be multiple connections established between each execute node and the same node that runs multiple CCBs running?
Yes.
4) If CCB daemons are restarted, will execute node that has CCB_ADDRESS configured be able to reconnect to the restarted CCB daemons? There is a configuration called CCB_HEARTBEAT_INTERVAL, which seems to indicate that the reconnecting is supported.
Yes. - ToddM