das in den Flash schreiben geht aus dem Programmcode heraus zunächst garnicht. In den Programmspeicher schreibt entweder der ISP oder der Bootloader, der in einem separaten Speicherbereich liegt und das dann daher kann.
Wenn Du zur Laufzeit ins Flash schreiben willst mußt Du Dir einen Bootloader schreiben, der im Loaderbereich liegt, vom Hauptprogramm angesprungen wird, die Daten speichert und wieder zurück ins Hauptprogramm geht.
Theoretisch und auch praktisch machbar, obs Sinn macht muß jeder für sich entscheiden.