Is this basically a 6502 assembly question? Ok then...

In general, architecture aside, there are a few things you could try. Change the variable to unsigned so that the limit effectively becomes 255. (No idea why the game uses a signed 8-bit integer, it's not like there is any meaningful use for negative lives. That's what causes your game over surely, because any negative is less than 0 and that represents game over.) You could modify the routine which is incrementing the lives counter and add a bounds check to insure it does not increment once the maximum is reached. Assuming that Famicom supports 16-bit variables (I really don't know lol) allocate more memory for the lives counter. An unsigned 16-bit int will get you a cap of 65,535. The game has trouble displaying numbers on the life total screen that are greater than 9 I think so I'm not sure what side-effects there may be by trying to make the variable 16-bit instead of 8-bit...