AWOL:
A 100us delay in an interrupt routine doesn't seem a great idea to me.
Break up analogRead into its components.You don't exchange any data - it's global.
I'm not realy sure what u mean with "breaking up analogRead into its components"
Are you talking about the ADCSRA, ADCSRB, ADMUX, ... registers?