Die Idee ist prinzipiell ja eine sehr schöne, aber die Umsetzung scheint mir eher spezifisch als generisch.
Das Problem ist ja, dass du deinen Code zwangsweise in Assembler schreiben musst, damit dieser von seinem Wirtsprogramm und seiner momentanen Position im Speicher unabhängig ist.

Man stelle sich vielleicht auch mal folgendes Szenario vor:
Es gibt 3 Programmteile. Die beiden letzten benötigen jeweils die gleiche Funktion.
Layout:
Part1 -- Funk -- Part2 -- Part3
Alle Teile können da sein, oder eben nicht, wobei die Präsenz von Funk von der Präsenz von Part2, oder Part3 impliziert wird.
Funk selber befindet sich, weil Part1 da ist, oder nicht, nicht an einem festen Ort - kann also nicht statisch referenziert werden.
Relative Referenzierung ist ebenso für Part3 ausgeschlossen, da Part2 evtl. da ist (oder eben nicht).

Was man also im Grunde bräuchte wäre ein eigener Assembler, der dann den Code jeweils neu zusammensetzt.
Das würe wohl auch die Übersichtlichkeit erhöhen, da man dann den Code auch in Mnemonics angeben kann und nicht auf Bytesteams zurückgreifen muss...

Nur so mal als Anregung für die, die sowas wirklich umsetzen wollen.