See the Prusa calculator at https://blog.prusa3d.com/calculator_3416/#optimallayer
Ultimately, possible layer heights come down to the mm per step a machine is actually capable of. For example, I have a leadscrew pitch (not a thread pitch) of 8mm, and 1.8deg steppers, so each Z step is 0.04mm. That means all my layer heights MUST be a multiple of 0.04mm.
The software doesn't really need to build in the calculator (though that would be nice), but I should be able to trust that layer heights snap to the mathematical ideal, especially for whatever adaptive layer heights is doing under the hood.
I think from a UI/UX perspective, a simple input field 'mm per Z-step' would suffice to get the information into the software.