Du kannst in dem Paket einfach eine Anweisung nach dem Vorbild von `\title` etc. aus den Standardklassen definieren:
\begin{filecontents}{BadG.sty}
\ProvidesPackage{BadG}[2017/11/03 0.1 Paket XY]
\ProcessOptions\relax
\RequirePackage[utf8]{inputenc}
\RequirePackage[T1]{fontenc}
\RequirePackage[ngerman]{babel}
\RequirePackage[automark,
headsepline,ilines]{scrpage2}
\pagestyle{scrheadings}
\newcommand*{\@patchiffre}{%
\PackageWarning{BadG}{Pat.-Chiffre undefined}%
NoN%
}
\newcommand{\patchiffre}[1]{\def\@patchiffre{#1}}
\ihead{Bericht zum Antrag auf Verhaltenstherapie}
\chead{}
\ohead{Pat.-Chiffre: \@patchiffre}
\ifoot{}
\cfoot{}
\ofoot{\pagemark}
\end{filecontents}
\documentclass[11pt,oneside]{scrartcl}
\usepackage{BadG}
\patchiffre{Y78901234}
\begin{document}
Ich möchte gern, dass in meinem Dokument nicht "`X123456"' in der Kopfzeile steht, sondern ein Wert, den ich in meinem Hauptdokument festlege.
\end{document}
Da du offenbar an den Umgang mit `\newcommand` noch nicht gewohnt bist, sei darauf hingewiesen, dass man bei eigenen Definitionen unbedingt [auf unerwünschte Leerzeichen](https://komascript.de/signifikanteLeerzeichen) achten sollte! `#1` ist übrigens der Platzhalter für das Argument, das an `\patchiffre` übergeben wird. Es sind max. 9 Argumente möglich. Eine alternative Schnittstelle zum Definieren neuer Anweisungen bietet [`xparse`](https://ctan.org/pkg/xparse). Bei dessen Verwendung würde sich allerdings anbieten auch mit Attributen zu arbeiten, wie sie bei [`l3`](https://ctan.org/pkg/l3kernel) üblich sind. Das wiederum ist eher etwas für Leute, die bereits Erfahrung mit TeX auf Low-Level-Ebene haben.
Falls du wissen willst, wie man das ganze als Option für das Paket lösen kann, sei auf Pakete wie [`scrbase`](https://ctan.org/pkg/scrbase) oder [`kvoptions`](https://ctan.org/pkg/kvoptions) etc. hingewiesen. Bevor man sich daran macht, sollte man aber die Grundlagen verstanden haben.