But... unfortunately I don't have spare machine to run Plan9 native. I must run Plan9 in VMware player.
Well understood. We use a virtual machine product ourselves for terminals and for testing.
While you might not utilize all the possibilities of network management with Plan 9 because you're on vmware, I think my first sentence still applies: It appears you've found a good reason to make a little, one-time edit to your ndb file. If you're running as a cpu server for any good reason, you're going to want to set at least a few values in ndb to help the system work smoothly. Things like the value of $cpu, authserver, and fileserver for terminals, for starters.
If you're running as a cpu server in a vm just to log in at the console, not run any terminals or even drawterms, and you like termrc, I'm not sure I understand why you're even running a cpu kernel for your current purposes.
Lastly, I may be missing something, but it seems like if you make your call to ip/ipconfig to get your DHCP-provided ip address in either of /bin/cpurc.local or /cfg/$sysname/cpurc, you would achieve your desired behavior when the /bin/cpurc invocation of ndb/dns -r happens.
-- Josh