I would've thought SMB3 had a level editor already, but okay, I'll tell you how I'd find the tile you want.
I'd open up the nametable viewer and find the block I want, hover over it and look at its position in VRAM. I'd go to that position in the hex editor and set a write breakpoint for when that tile gets written to. Then I'd go off the screen until the tile disappeared from the nametable, then go back on with the breakpoint active. When that tile is accessed, the debugger will open at the instruction that stores my tile.
The next step is to figure out where the CPU got that tile from. The easiest way is probably to go back to the moment before the breakpoint hit (so go off the screen again) and activate the trace logger, saving to a file. You wanna make sure it's JUST before hitting the breakpoint because that log file can get BIG.
So in the log file, you can go backwards from where the breakpoint hit, to see where the tile came from. So if the tile was E6, I'd see E6 at the end of the log, and search backwards (upwards?) to the next mention of E6. Eventually the ROM location (between $8000 and $FFFF) should show up. When I see it, I'd go there in the hex editor (making sure to right-click "go here in ROM file") and change it to see if I got it right.
Of course, if you're not familiar with assembly, you might find it confusing to read. What you need to know is that on this CPU, everything goes through the Accumulator (or A). So LDA means "load A with something" and STA means "store what's in A to somewhere". We'll be looking for a moment that there's a LDA instruction from the ROM area, most likely.
Give it a try, I can't look right now, but hopefully you'll get the idea eventually.