Wird wohl wirklich am Stack und Frame liegen...
Der Code sieht jedenfalls mal sauber aus.

Der Mega8 ist mit dem 90S4433 pinkompatibel. Beim Mega8 würde es mit jeweils doppelten Werten reinpassen. Der Mega8 kostet ungefähr 4 Euro...
Ansonsten könnte man vielleicht auch am Code was ändern, aber übersichtlicher wirds beim optimieren sicherlich nicht .