The number of tiles that you can store depends on the "mapper", or the exact configuration of memory and other hardware on the cartridge board. Your guess of 256 KiB (a total of 16384 8x8-pixel tiles) is a good first approximation. But there are other limits seen in common mappers, such as switching 64-tile (1 KiB) pages at a time (if your mapper uses CHR ROM).
There's not much of a limit to screen count, particularly if you can figure out a compact storage format for the levels. The practical limit in games of the era was 256 KiB of program, including code and level maps, though a few later games were bigger. But all the map data in
Super Mario Bros. is on the order of 8 KiB. Show a typical level map, as might be seen at
vgmaps.com, and I might be able to reason out how much memory it'd use.