Any OP in a vanilla server can give blocks through the syntax "/give player block_id quantity" such as "/give chands 20 64" to give yourself 64 glass. You can use the Bukkit server which allows plugins to be easily installed. I believe the command I'm thinking of is in Bukkit Essentials which allows the following.
- "/i dirt" - Gives yourself 64 dirt
- "/i ch dirt" - It would give the first player with that contains 'ch' a stack of 64 dirt.
EDIT: I forgot to mention the official server does not allow damage values which is how the game treats wool, wood, and birches as unique blocks.
There is also a plugin called 'World Edit'. It's a very powerful tool. You select two x/y coordinates and can do many things. Replace, remove, or set a block type. Stack the selected blocks so you can create a repeating pattern (a wall, bridge, etc) and it'll repeat it in the selected direction x amount of times. All sorts of stuff.