You can wrap the hibernate collections in a component which represents your enhanced lcollections:
Code:
 <component name="Items" class="MyEnhancedList">
      <bag name="Items" table="..." ...>
        <key column="..."/>
        <one-to-many class="MyItemClass"/>
      </bag>
 </component>
Items is a property in your collection implementation that contains the items:
Code:
    public abstract class ListBase<T> : IList<T>, IList where T : class
    {
        private IList<T> items;
        protected ListBase()
        {
            items = new List<T>();
        }
        public IList<T> Items
        {
            get { return items; }
            protected set {items = value; }
        }
...
}
The methods necessary for IList can simply be passed to the inner list. Any additional functionality can go in the wrapper class.