Regarding the size of levels in Super Mario Bros 3, the game loads them in full into the WRAM on the cart, hogging 6480/8196 of the bytes available there. This is enough for standard areas to be 15 screens wide. (I think levels can be multiple areas, but don't quote me on that.)