no as far as you know you can't. But why worring ? the AS takes care of saving resources. You can fine tune the idle time with the @CacheConfig annotation. The idleTimeoutSeconds parameter configures the amount of idle time before the bean is passivated and the removalTimeoutSeconds configures the amount of idle time before the bean is permanently removed.
In EJB container passivation is invoked by container. If you make public method with annotation @Passivate I think you make them additionally invoke. But look out that this method maybe additional twice invoked by container so it should be written in safe style to check it is second time pasivation...