I dont know if I got what you said right, however you have a 16 bit counter and you want to count to 10 million, I'd use the prescale with timer 1 to reduce the count but you dont have to.
16 bit Timer1 will overflow at just over 152 times per second at 10mc's, so you need to make sure your interrupt routine is quicker than 152hz, if you read the counter every interrupt add the contents of the counter to a 32 bit long word using a 32 bit addition sub, then clear the counter, at the end of each second you'll have a 32 bit value of frequency, you can then transfer this to the displayed value and clear it.
Cant help with the code I'm an asm man.