ふむ。
std::less の定義が std::set< T* > を有効にするためのものだとすれば、

#include <functional>
bool storage::contains( T const* p ) const
{
  std::less< T const* > lt;
  return !lt( p , &a[0] ) && lt( p , &a[N] );
}

これで十分ということになりますね。ちょっとキモいけど。
Cの場合は>>776のようなアプローチが最善策である、と。

そうなると、boost::pool::is_from の仕様がやたら複雑に記述してあるのは
どういうわけなんでしょうか?