No, you can’t hide rewards from the list.
No, there’s no way for you to force users to spend channel points.
All you could do is have the user go through the list of rewards, click on the one created by your extension themselves, and have your extension listen for that redemption so that you can take some action within your Extension.