warum so umständlich ?
SPI benötigt ja noch CS und wenn Du via ISP programmierst fungiert der µC als SPI Slave und sein CS ist dann die Resetleitung.
Wozu noch die Taster/schalter