I have some dynamic IP's (and Id rather not change that!).
But nonetheless I'd like to send http requests to the device.
Also while I'm at it , I don't suppose it's possible to set a timeout on the httpGet / asyncHttpGet .. the current setting is about 30 seconds, I'd like shorter
Why not reserve addresses for those devices in your router (or modem/router combo) to always have the router assign the same IP address to those devices. You don't need to cancel dynamic IP addresses for other devices that don't need to go to a static IP address for every device. Reserving the IP address just means that the particular device will always be assigned the same IP address. I use it for the Hubitat hub, my main computers, my printer, and my Iris V1 cameras as I need them to have an address that is stable while allowing the random addressing for other devices such as laptops that don't need such stability.
In my Asus router, when I use the DHCP Reservation feature I also assign a name. I can then use that name to access that machin on my home network. My DNS server for all of my systems is set to my Asus Router. If it can resolve the name locally, it does. Otherwise it send the DNS request to my ISP's DNS server.
If you are using LAN calls from the device to Hubitat, the IP and MAC address of the device making the call to the hub is passed to the parse() function. If you can have your device make a periodic "check-in" call to the hub, that will keep the addresses up to date and ensure that it's always reachable.
I'll show my age here and confess that I used to administer a network of diskless Sun workstations. I used RARP (Reverse Address Resolution Protocol) to enable a system that was booting up to find its IP address based on the only thing it knew for sure at boot time: its MAC address.
So here's another way to determine a hosts IP address from its MAC address. I don't think this helps the OP, as rarpd requires a static database of MAC to IP mappings. Just historic musing...
Not "exactly" what is desired, but if you only have a single HE on your LAN, and "Bonjour" is in use on your network, then the HE responds to "hubitat.local". In other words, you can access the HE by name without knowing that (possibly changing) IP address.
That said, this is really not a good thing for the HE to do. It SHOULD use the name you have given your HE. So if you called it 'myhub' the Bonjour name should be myhub.local. I don't know what happens if you have more than one HE on the same LAN.