Hi Prantik,
Would SurfClust not do the trick? It is quite different from 3dExtrema, but there is no such program for surfaces.
You could go the less exact route, finding 3dExtrema voxels and then mapping them to the surface. But that is not always the same as getting extrema from the surface directly and may be an inappropriate approach for what you're doing...
cheers,
ziad