If you start Chrome with the flag "--remote-debugging-port=0" it will automatically choose an available port and write information about the port to a known file (see https://chromedevtools.github.io/devtools-protocol/).
I can't seem to get cefclient.exe or my own application to be able to reproduce this behavior. Is something like that possible with CEF?