Have a look at my answer to the question about "How to make the permissions of a module more granular?". It uses (only) the Rules module, for which this is the summary of the included rule:
- Rules Event: Drupal is initializing.
- Rules Conditions: Check if it is an anonymous user and verify if they try to visit some URLs they do NOT have access to.
- Rules Action: Redirect those who meet the Rules Conditions to "some other URL instead", and display some informational message about it.
Start with adapting the URLs used in these Rules Conditions and Actions, and remove the 1st Rules Condition (about anonymous users). Then change the message to be displayed to your "This product is not available as of now, check other products.". With that, you might be close to what you're looking for.
Note: you might be able to further enhance this Rules Condition using some more appropriate Rules Condition that indicates "Product is unpublished" (though I don't know (yet) which one that would be).