How can 8-bit processor support more than 256 bytes of RAM?
Most 8 bit CPUs have 16 bit address buses allowing them to address 64kbytes, precisely because 256 bytes really isn't enough to do very much! It just means they need to load two bytes instead of one, each time they need to load an address. Slightly slower but tolerable considering their size. 

(And yes there are many exceptions, mostly developed when 64k became too small, but we're talking about the basic idea here).