I can't immediately see why we couldn't do this - would need to make sure there aren't any subtle behaviours under the covers that make it more complicated.
For example, if 'extend delay' option is enabled, then presumably it would extend it by the value of msg.delay that was received?
We'd also need to figure out what to do if a message doesn't have msg.delay set - I can't remember off the top of my head what the Delay node does in that case.
The trickier part is likely to be getting the UI right. The delay node has an explicit option for setting the delay by msg.delay. The trigger node would need a similar option. Its UI currently has this:
(and "wait for" can also be "resend it every" ... and if we let you set one of those by a msg property, then it'd be short-sighted not to consider the other)
One option would be to add a select box at the start of the line with options for "fixed interval" and "interval set by msg.delay" - with the time interval only shown for the former option.
So it is doable. Just need to make sure there aren't any hidden issues.