Die Frage ist eher, was macht diese Prozedur genau?
Wenn es nur eine Prozedur ist, die nichts mit speziellen Elementen der Forms zu tun hat, dann lager sie aus. Wenn du also zum Beispiel, keine Ahnung, den Rabin-Karp-Algorithmus in beiden Forms benutzen willst (String-Matching), dann schreib dir eine neue
Unit und füge dort die Prozedur ein. Dann bindest du die in beiden Form-Units ein.
Geht natürlich auch mit etwas sinnvollerem (also gut, auch Rabin-Karp ist sinnvoll, aber halt hier nicht, ist mir nur gerade eingefallen). Sagen wir du hast einen Algorithmus, der einen speziellen Baum in ein Image zeichnet, dann kannst du das genau so auslagern, nur hat deine Methode dann als ein Parameter ein TImage und da übergibst du dann immer das des jeweiligen Form und der zeichnet da rein.
Für die meisten Fälle, wenn beide Forms Methoden der jeweils anderen aufrufen, spricht es eher für einen Fehler im Design der Klassen. Man sollte es tunlichst vermeiden zwei Forms von einander abhängig zu machen. Ist einfach unsauber und bringt dir ganz schnell Probleme.