Die globalen Variablen wirst du zumindest formell einfach los, wenn du sie als Felder innerhalb der Form-Klasse anlegst. Das verbessert aber die Struktur nur unwesentlich.
Anstatt eine neue Panel-Klasse zu deklarieren (was natürlich auch geht), kannst du auch einen Frame anlegen (Datei - Neu - Weitere... - Delphi-Projekte - Delphi-Dateien -
VCL-Frame). Darin platzierst du das Image, das Label und das Edit und was du sonst noch alles brauchst. Hier kannst du auch mit dem Align, AlignWithMargin, Margins und Padding der einzelnen Controls spielen um das gewünschte Layout zu erreichen.
Im Form erzeugst du dann kein TPanel sondern eben einen solchen Frame (Frame-
Unit in Uses aufnehmen) und platzierst ihn an die passende Stelle. Hier wäre eventuell ein TFlowPanel als Parent brauchbar, das sich automatisch um die fließende Anordnung kümmert. Das würde deinen Code sicher deutlich reduzieren.
Ich kann das jetzt leider nicht so genau beschreiben, wie du das gern machst. Also musst du sicher noch einiges durch Ausprobieren herausfinden.