Secondary catalog with Dexterity

I would write a script for that (and activate it either via bin/{instance|client1} run or put it into a view and activate via an HTTP request). ZopeFindAndApply uses the object{Ids|Values|Items} family to determine the children of an object; alteratively, you could use the content{Ids|Values|Items} family (defined by the CMF and giving the content children).

If you have a perfect integration, calling the object's indexObject may be enough to index an object in all relevant catalogues. Otherwise, you may need to call the various catalogue's catalog_object for the object.