Change your XPath constraint to include the conditions when your calculated value would become true
Actually store the value in the database, instead of calculating it. You would have to implement logic on save buttons where relevant attributes change and update this attribute as well
Retrieve all object and manually loop over them to construct the list (or perhaps Mendix allows you to use the Filter List action).
You should be careful with virtual attributes: apart from this issue, they are fairly inefficient, see e.g. this blog post