There could be a built-in trigger - 'on variable changed' - but Construct would try to fire it every time you set the variable. I'm not sure because obviously it hasn't been measured, but this could end up being a significant performance drain on some projects. For example, if 5 fairly complex events fire every time you set a variable, that's a lot of overhead for a very simple action which is probably used a lot. Lucid's workarounds are probably a better idea, so we don't have to make everyone pay for a feature they might not use.
My favourite trick is a second variable which is the 'old' value - for example, 'Health' and 'OldHealth'. Then you can do something like:
+ Every tick
-> Set some value to 'Health' - 'OldHealth' (the "health difference")
-> Set 'OldHealth' to 'Health'