Why does rice expand by more than the liquid volume it's cooked in?
Starch is composed of two polymers (linked chains) of glucose (sugar): Amylopectin and Amylose. Amylopectin is a branched and much larger molecule than Amylose.

Starch molecules in a grain of rice are actually arranged in a semi-crystalline state. The granules are about 2μm in size in rice (different plants have different granule sizes). 

Starch becomes soluble in water when heated. The granules swell and burst, the semi-crystalline state is lost, and the smaller amylose molecules leach out and form a network that holds water. Although the network of molecules holds water, it will of course have a larger volume than the volume of neatly-aligned molecules plus water. This process is called gelatinization.

So you can imagine that in a dry rice grain, the strands of starch are like the fairly neatly stacked threads in my T-shirt, some shorter, some longer branched nets. As you heat it, the threads get moving and tangled up, absorbing the water, but also expanding even more in size like that big mess of lint in my clothes drier.

A similar process happens with popping corn, except the water is contained in the kernel of corn and not added. It's quite apparent to see how much larger the volume of a bowl of popped corn is compared to the small package of unpopped corn with water inside.