Allow me to go into a bit of detail. It seems to me that your problem is that you've learnt a lot of assembly instructions, but don't actually know how assembly works. Once you get over that fundamental problem, you may make progress.
You say things like "look for patterns with C9 compare", which make no sense to me, then say you don't understand how breakpoints work. All those instructions, such as CMP, LDA and so on, are what the CPU reads and obeys. CMP for example takes a value from somewhere and compares that to what's in the Accumulator, and sets flags accordingly. Also, you say "the message telling you that you are cursed, is likely in bank 7". Likely? How do you not know? If you're reading the file using a table, it should be plain to see. But even if not, it's easy to find.
I'll explain. The NES puts graphics on the screen using the PPU, which stores both the graphics and the on-screen position of the graphics (plus the palette info) in its own RAM. The CPU cannot directly access this RAM, but by reading and writing to a set of registers, it's able to put stuff there. So when some text needs to be written on-screen, the CPU finds it in the ROM and sends it to the PPU through a register. Often the game assembles the text in the CPU's own RAM first before blasting it to the PPU in one go.
So, knowing this, we can reverse engineer to find any piece of text in any game: if you see a message on-screen, it came from somewhere, right? Let's use DW2 as an example, and I wanna find the text for "Thou hast defeated the Enemies".
I win a battle, text pops up, I pause. Go to Name Table Viewer to see where in memory this text begins. I hold the mouse over the capital T and it's at $2265; go there in Hex Editor (View-PPU Memory). Right-click on the address and "Add write breakpoint for address 2265", so that the game stops at the moment it writes to that address (with our capital T). Note that there's $37 stored there, so that's what we're looking for.
Go back with save state (or just win another battle), and pay attention when the last enemy dies (the debugger will be stopping a few times because of all the times it's writing other text, so you can disable the breakpoint by double-clicking it when you don't need it). With the breakpoint enabled, I click Run a few times until I see $37 appear in the Accumulator (see the A, X and Y windows in the Debugger - A means Accumulator). I see that $C0AA is the instruction to store whatever letter is needed to the PPU's RAM. Looking above, I was right: the text comes from the CPU's RAM rather than directly from the ROM.
Just for fun, click Add, type $C0AA as address, select Execute (because it's an instruction) and click OK. Now every time you click Run, you'll see a letter appear on the screen, because this is the command that occurs every frame that needs a letter on-screen. Anyway, back to work. If you go to $300 in RAM, and keep clicking Run, you'll see that what the game does is put the PPU address at $300 and $301, and the value to put there at $302, every frame (the devs wanted each letter to scroll slowly, I guess, rather than appear instantly). The NES's RAM is between $0 and $7FF, so it gets here from somewhere in ROM. Question is, where?
Well, right-click $302, write breakpoint, Run. Oh snap, the address and value come from $7 to $9... well, how did they get THERE? Right-click $9, write breakpoint, Run. Christ, it's coming from around $6000, which is cartridge RAM. Go again...
Eventually I figured out it gets the text from $B52F in ROM, and using its nifty text handling routine, it writes it out in RAM before putting it on the screen, thereby not needing to put manual line breaks in the code, but DW2 is a bad example since Japanese games don't usually bother with that.
Anyway, I have to go now, but I just recommend reading this and trying to understand how the CPU works:https://www.dwheeler.com/6502/oneelkruns/asm1step.html
I'll be back later and can give you some more advice about your specific requests.