Hola,
A mí lo primero que se me viene a la cabeza es declarar un método en los formularios que van a ser mostrados "modalmente". Tal que así:
Código Delphi
[-]
interface
type
TForm2 = class(TForm)
private
FCallForm: TCustomForm;
public
function ShowModal(callForm: TCustomForm): integer; overload;
end;
implementation
function TForm2.ShowModal(callForm: TCustomForm): integer;
begin
FCallForm := callForm;
result := self.ShowModal();
end;
Con el método se matarían dos pajáros de un tiro, como se ve: se asigna a cierta variable privada una referencia al formulario que llama al método, y se ofrece como resultado de este el resultado del método "ShowModal" original.
Queda de tu cuenta añadir una propiedad pública al formulario, si es que lo ves menester. En todo caso... tal vez no sea muy "elegante" esto que propongo... a ver si alguien se anima con otras soluciones.
Edito: Iba a borrar mi mensaje, porque lo que dicen los compañeros (y que no se me había ocurrido) me parece mucho más digno e interesante. Pero, total, que se vea mi ignorancia, y además, tal vez pueda servir de algo lo que he dicho...