The concept of interrupts seems scary if you don't understand how they work but they are really quite simple and incredibly useful. Think of an interrupt routine (an 'ISR') as a completely different program to the one in the main() loop and it is started by a hardware trigger. When it finishes running, it shuts down and returns control to the main() program where it left off. The main() program may not even be aware the ISR is there at all but usually one or more variables are shared so they can interact with each other. You NEVER call an ISR in software, at least on PIC devices, you set up the conditions for it to be triggered, enable it then leave it alone. The hardware event forces the ISR to run, in your case the event is TMR1 rolling over from maximum value of 0xFFFF to zero.
So firstly, you need to write the ISR and as Klaus explained, there is a special way of naming it so the compiler knows to place it in the reserved memory space. Then you need to do something in the ISR, most likely in your case it would be to re-load TMR1 so it repeats the same count and rolls over after the correct time. Note that you must do this inside the ISR or after the first time it is called it will do a full count up from zero before it interrupts again. Then do whatever is necessary to service the interrupt and finally exit from it. A word of caution, if you change a variable inside the ISR that you also use in the main() program, declare it as 'volatile', this is a hint to the compiler that it shouldn't trust any copies of the variable it has made because the value might have been changed unexpectedly by the ISR. NEVER,NEVER,NEVER use delays inside the ISR, they probably won't work anyway but you should aim to leave the ISR as quickly as possible.
I suggest once you have written the ISR, you keep a variable inside it that you increment each time it is called. So for example, if your variable was called "StepNumber", you would add the line "StepNumber++;" inside the ISR code. Now if TMR1 triggers the interrupt every 100mS, the value in "StepNumber" will increase by one every 100mS and it will happen without using any delay routines. After that, you can change your code so that the pins check the value in "StepNumber" to see if they should be high or low. Note that you can put a new value in "StepNumber" or clear it at any time if you want to.
Brian.