Schon klar, ich habe aber gesehen, dass avrdude im Terminalmodus mit "send" einfach mehrere Bytes übder das ISP-Kabel via SPI an den Mikrocontroller sendet (und gleichzeitig von dort liest)

Ich vermute, dass das mittels CMD_SPI_MULTI in der Kommunikation mit dem ISP funktioniert.
Dabei wird vermutlich der AVR durch RESET=LOW in den Programmiermodus versetzt.

Nun wäre meine Frage die: Wenn ich eine eigene Software schreibe, die wie avrdude den ISP mit CMP_SPI_MULTI anspricht, also einfach Daten via SPI an den AVR sendet, den AVR aber nicht in den Programmiermodus versetzt (RESET bleibt unangetastet), dann könnte ich doch mit dem AVR kommunizieren. Ich müsste nur auf dem AVR eine Art Soft-SPI Programm hinterlegen.

Letztendlich ist die Idee sozusagen das Gegenteil eines Bootloaders. Beim Bootloader möchte man die ISP-Schnittstelle einsparen und eine zur Kommunikation eh implementierte Schnittstelle wie UART oder I2C zum Programmieren nehmen.
Ich möchte dagegen den ISP, den ich eh zum Programmieren brauche, nun auch zum kommunizieren verwenden.

Dabei bleibt bei mir bis jetzt die Frage offen: Lässt der ISP-Adapter überhaupt zu, dass man mit dem AVR über CMD_SPI_MULTI kommuniziert, ohne dass der Programmiermodus aktiviert wurde?