Why does B12 deficiency enlarge red blood cells?
@SPr has given you a good reference in his answer. I thought I'd add some context to it.

The basic problem here is that red blood cells need B12 in order to synthesize DNA. Red blood cells live for about 4 months, and have to constantly be replaced, so when you have a problem with B12, this is one of the cell populations that will be affected. The problem here is actually the anemia. It's not that the cells are too big, but that there aren't enough of them (see the linked reference, as well as Robbins and Cotran Pathologic Basis of Disease, Ch 13, subsection "Anemias of Diminished Erythropoiesis"). The size itself helps identify why there aren't enough of them, distinguishing this anemia from other anemias that cause cells that are smaller than normal. 

The mechanism in lay terms (which hasn't entirely been worked out, again, see both the article and Robbins), is that a problem with DNA synthesis causes the cells get larger before they divide. So you have fewer, larger cells. Because it's a universal problem with DNA synthesis, red blood cells aren't the only cells affected.