Para programar lo que quieres debes utilizar OTS (Open Tool API reference); Utilizando ésto puedes ańadir elementos al menú de Delphi, posteriormente acceder al proyecto abierto, a los ficheros abiertos,... y a partir de ahí buscar lo que necesitas. Otra opción es "parsear"como tú dices el DFM o PAS; No me parece tan mala idea, el único inconveniente que le veo es que no accederás a los cambios que no tengas guardados.
Algunas direcciones de referencia que te pueden servir son las siguientes:
http://www.nldelphi.com/cgi-bin/arti...rticle?ID=7257
http://cc.borland.com/codecentral/cc...sting?id=14674
http://www.dcjournal.com/experts/chnghorz.html
http://www.miharemec.com/doc/ota-nmi.html
http://delphi.about.com/library/weekly/aa033099.htm