I am not entirely familiar with the HttpSessionBindingListener but what I would look into doing is making an extension of the HashMap class (rather than using a HashMap) that listens for the binding events and destroys or cleans itself according to your wishes.
Though ... if you only want that data around during the users session, why not just put your HashMap in the session scope?
Hope this helps
------------------
Chris Stehno (Sun Certified Programmer for the
Java 2 Platform)