All transparent blocks, with the exception of slime blocks, redstone blocks, and active redstone ore (when glowing after being hit), cannot be spawned upon.
A full list of the transparent blocks that no monsters spawn on:
Furnace (when active)
Glass
Glowstone
Ice
Jack o'Lantern
Leaves (Fancy graphics)
Piston (Retracted)
Redstone Lamp (when active)
Redstone Ore (when active)
Sticky Piston (Retracted)
TNT
Anvil
Bed
Brewing Stand
Cake
Carpet
Cauldron
Chest
Cobblestone Wall
Daylight Sensor
Door
Enchantment Table
Ender Chest
Farmland
Fence
Fence Gate
Glass Pane
Iron Bars
Ladder
Lily Pad
Nether Brick Fence
Piston (Extended)
Redstone Repeater
Redstone Comparator
Snow (layer) (2 - 8 layers)
Sticky Piston (Extended)
Trapdoor
Trapped Chest
Vines
Button
Lever
Pressure Plate
Weighted Pressure Plate
Rail
Powered Rail
Detector Rail
Activator Rail
Redstone Dust
Redstone Torch
Air
End Portal
Fire
Portal
Sign
Snow (cover) (single layer)
Torch
Cactus
Crops
Flowers
Grass
Mushrooms
Saplings
Sugar Cane
Lava
Water
End Portal Frame
Mob Spawner
Exceptions that are both transparent and spawnable upon:
Block of Redstone
Hopper
Slime
Also other notable exceptions:
Slabs not aligned with the top of the block-space (normal) cannot be a spawning are. Slabs aligned with the top/double slabs can be spawned upon.
Right-side-up stairs (stair side up) cannot be spawned upon, upside down one can (flat side up).