One workaround is to use a custom property and drivers - you can use the related object's custom property, or just any new/temporary custom property if you only want to use it once. The setup is not terribly long:
Another workaround on Windows is to use Autohotkey script like so:
#NoEnv
#SingleInstance Force
SetBatchLines, -1
SendMode Input
global STEP := 0.00001
winname := "Blender ahk_class GHOST_WindowClass ahk_exe blender.exe"
#if WinActive(winname)
F11::
F12::
sign := {F11: -1, F12: 1}[A_ThisHotkey]
saved := ClipboardAll
Clipboard := ""
Send ^c
ClipWait, .1
s := Clipboard
if (s != "") {
Clipboard := increment(s, sign)
Send ^v
sleep 33
Send {Ctrl up}
}
Clipboard := saved
saved := ""
return
increment(textvar, sign) {
Loop % StrLen(textvar)-1 {
i := A_Index+1
sub := Substr(textvar, 1, i)
if sub is not number
{
i --
break
}
}
newval := Substr(textvar, 1, i) + STEP * sign
return Format("{1:.15f}", newval) . SubStr(textvar, i+1)
}
Then hover over a field (don't click) and press F11 to decrease the value and F12 to increase it.
Possibly related: Change hovered values by keys (it seems the logic from Autohotkey script could be applied in that Python script)