I know xeef has given you some wiki links but I'll try to answer your specific questions:
1). Why is the largest RAM limited by the 'bit' of the system?
The system addresses the RAM using instructions, these instructions must fit into the system's memory map. The system also needs to be able to address RAM to the byte level, thus the largest area of RAM that can be addresses by the system is determined by the largest memory instruction the system can handle.
So, a 16-bit processor would issue 16-bit memory instructions, a 32-bit processor would issue 32-bit memory instructions and a 64-bit processor would issue 64-bit memory instructions.
2). How can memory in general be limited by the 'bit' of the system? I.e. your harddrive can go from 100GB to 2TB.
"Memory" in general doesn't exist. You have directly addressable memory, and attached peripherals. Hard drives are peripherals and use block storage, they store things in blocks and are not limited to 32-bit memory instructions. That's what drivers and Operating systems are for.
Another important issue is that harddrives are not connected directly to the processor but are attached through a drive controller which must fit into the memory map.
A neat experiment is to go grab an old 32-bit machine and install 4Gb of RAM, put Windows on it and ask yourself why only 3.7 (ish) is available. That because the peripherals have taken some address space.
If you don't have a good knowledge of how hardware works then you should do some reading. I'm not sure if this is a good place to ask questions, but if you like you can pick my brain via private message(I design chips for a living and can probably answer all of your hardware questions).
And the perfect wiki to start your reading on:
http://en.wikipedia.org/wiki/RAM_limit