One way to do this is to make sure that your discovery for the attribute only occurs once per day, and use a SyncTime to control when it runs. You can then have a monitor that runs before the discovery to check the new value with the existing attribute value. This can be achieved using the ExpressionFilter module. Ultimately, you could write a custom data source that provides the new value to the monitor and to the discovery so you aren’t querying for the same value twice.
Feel free to upload your XML and I’ll happily review your MP
David