Not sure if this will help
You can use set_max/min_delay without any clocks.
I've used it to constrain purely combinational paths, ie:
set_max_delay from [get_ports A] -to [get_ports B] 10
Another possibility it to add clocked external delays (set_input/ouput_delay) based on a virtual clock.
create_clock -name virtual_clk_for_async -period 100
set_input_delay -clock virtual_clk_for_async -max 45 [get_ports A]
set_output_delay -virtual_clk_for_async -max 45 [get_ports B]
# Set clock groups to exclude paths from the real clock and and aync clock domains
set_clock_groups -asynchrnous {clk} {virtual_clk_for_async}
If I didn't get anything wrong, this will have the same effect as the line above.