el 12F y los 16F si efectivamente solo tienen un pin de INT, pero el 18f2550 si te fijas bien tiene 3 pines de interrupción externa INT0, INT1 e INT2, que son los pines RB0, RB1 y RB2 respectivamente, y con ello si podrias hacer lo q pretendes de los 3 pulsadores.
pero existen otras formas de interrupción, por ejemplo por variación del nibble alto del puerto B en muchos microcontroladores, esto es de RB4 a RB7, con ello tienes hasta 4 pines para pulsadores
tb existe el desborde por TMR0, TMR1, y talvez otro timer mas, ellos pueden ser usados con un reloj externo, que podría ser un pulsador por ejemplo, si siempre tienes al timer a punto de desbordar con tu pulsador provocarías una cuenta al TMRx y por tanto una interrupción "externa" creada.
como ves puedes optar por varias formas de usar las interrupciones.
y como te mencione en mi 1ra respuesta, una vez ejecutada la interrupción, vuelve a donde estaba, si estaba en un ciclo de SLEEP, vuelve ahi