A macro can do it since there is an API for FeatureWorks (documented in 2004 api help) However it looks like the "automatic" recognition isn't completely automatic : you (or the macro) must first select faces/edges on the model that belong to the feature, then call a function FeatureWorksApp::RecognizeFeatureAutomatic with a parameter:
fwExtrudeOption - Run automatic extrude feature recognition. fwVolume - Recognize volume features automatically. fwHoles - Recognize hole features automatically. fwRevolve - Recognize revolve features automatically. fwChamfils - Recognize fillets and chamfers automatically. fwRibs - Recognize rib features automatically. fwBaseFlange - Recognize base flange features automatically. fwSketchedBend - Recognize sketched bend features automatically.
So it looks pretty hard to automate this in a general case. If your 500 parts have a similar structure (for example an extruded base, several holes plus fillets and chamfers) it might be a bit easier...