I'll try to answer your questions.
The Agent uses whatever is specified at the CP parameter to contact the CP when it is started the very first time. Or whenever the [ CP_LIST ] section in the Agent ini File is empty.
In case a DNS is specified the DNS Server will be contacted to resolve it.
The initial contacted CP will return a list of all CPs available within the AE system.
The Agent stores this list within its ini file in the [ CP_LIST ] section.
From now, the Agent is using the entries of the [ CP_LIST ] section to connect to the CPs.
If the list of all CPs received by the Agent contains IP Adreses or DNS Names depends on the parameter "hostName", which is located in the [ TCP/IP ] section of the Automation Engine's ini file (ucsrv.ini).
Note: Existing entries in the [ CP_LIST ] section are not overwritten, so changing the hostName parameter will not change existing [ CP_LIST ] enties. These entries need to be removed beforehand.
Note: The same should be try for the User (tomcat) connections / the uc4confix.xls file.
We are using DNS (fqdn) at the hostName parameter and it works fine for us.
Just give it a try.