www.staredit.net/starcraft/Sprites
Terran Marine (and Jim Raynor (Marine))
Terran Firebat (and Gui Montag)
Terran Ghost (and
Sarah Kerrigan, Samir Duran, and Alexei Stukov)
Terran Civilian
Zerg Zergling (and Devouring One)
Protoss Dark Templar (and the hero variants)
these can stack under certain conditions (random, using a hack)
Zerg Larva (Makes all built units, not buildings, have same effect)
Zerg Hydralisk
Protoss Zealot
I thought I made a complete list somewhere of all the units which can stack, but I can't find it anymore. I think scv was one. Zealot was only stackable when I used a hack, and then it turned completely invisible. Hydras and larvae aren't 100% stable and can crash the game on start. The animation is what determines what is stackable and stable, so all units using the "ghost" unit image can stack, but since sarah kerrigan uses a different image, she can't stack. Likewise, all 3 dark templars can stack. There are a large number of buildings which will also stack, and you can walk completely over those.
You used to be able to stack burrowed units by unburrowing just after the unit burrows. I believe this was patched, and is now impossible. It was impossible with triggers as well, and if you burrow the unit, it gains its collision box again.
Cloaking is a different story. You can permanently cloak any burrowing unit simply by unburrowing as soon as the unit enters an arbiter's cloaking field. Likewise, the unit loses its cloak if it burrows. However, this can be performed via triggers easily, and much more units can cloak than can stack.
"Parliamentary inquiry, Mr. Chairman - do we have to call the Gentleman a gentleman if he's not one?"