I wouldn't want to program an uncompressed level. But, if I did, I would have a pointer to each data set. Let's say X scrolling multiple rooms. Keep track of X as a 16 bit variable. Draw the right side as you scroll by adding 0x100 to the scroll, use the upper byte as the room #, which directs us to the correct data set. Use the lower byte >> 3 as the index to the data set. (32 tiles wide rooms)... and attributes, 8 attribute blocks wide, would be lower byte >> 5 as the index to the attribute table for that room.
But I would prefer metatiles of 16x16, so the data for each room could fit in 240 bytes, which simplifies the math also, but allows for significantly more levels to be stored in ROM.