What's the best way to protect your house from Endermen stealing your walls?
Put vines on the outside of your house. Instead of grabbing blocks from your house, they will grab the vines, and the vines will just grow back. It's a self-preserving defense mechanism against endermen.
Endermen take damage from water. So: surround your house with a moat. As long as every floor tile on the same side of the moat as your house is sufficiently illuminated (i.e., within 7 blocks of a torch, 8 blocks of glowstone, close to burning netherrack, etc.), Endermen should not be able to get to your house to disassemble it.
Bear in mind that, generally, the roof of your house is probably also a valid place for Endermen to spawn—put torches up there, too!
Note that lava is also an effective deterrent, but it will also destroy any dropped items from enemies.
Update (October 3, 2012): a mere moat is no longer sufficient. My current strategy for preventing harassment by endermen to build my house with a diagonally sloping roof and put a water source block at the uppermost point, completely submerging my house in running water; the interior contains only a nether portal in waist-deep water. The nether portal emerges into an enclosed tunnel that spirals down into the depths of the nether and is heavily illuminated, where a second portal returns you to the real world in my actual subterranean home.
Endermen can't take some types of block, so make a wall around your house with those materials. They can't take obsidian but it's hard to harvest, but if you wait for 1.9 Endermen won't be able to carry stone-type blocks. (Already in 1.9 pre-release 2 they can't)
Last of all: don't look at them so that they won't teleport inside your house!