Zum Thema 1wire Slave:

Ich hab mich auch schon an einer 1wire Slave implementation versucht.
So richtig hat das nicht funktioniert. Das Hauptproblem ist das timing.
Wenn Du in deinen Slave Controllern alle anderen Interrupts abschaltest könnte es gehen, ansonsten sind die Zeitfenster so knapp, das während einer 1wire Abfrage kein weiterer Interrupt mehr auftreten darf.

Im Zweifelsfall würd ichs dann doch mit SPI probieren, wenn das verdrahtungstechnisch geht. Oder Du kämpfst dich doch noch mal in I²C rein.

Eine long int in einzelne Bytes zu Zersägen ist für Assembler eigentlich kein Problem.

Wie wärs, wenn Du dir eine Sub Routine Schreibst die eine long int Variable erwartet und 4 char's zurückgibt ?