I do not think it is possible with cows (or any other non-armor-supporting mob). I do know it is possible with Skeletons and Zombies, however. The command is in the below format:
/summon Zombie ~ ~ ~ {Equipment:[{},{},{},{},{id:46}]}
The above command will spawn a Zombie with a TNT block for a head. I think water can be done, if you really want. Simply replace that 46 with something else.
Command Breakdown:
/summon <mobType> <x> <y> <z> {Equipment:[{id:<weaponID>},{id:<bootArmorID>},{id:<pantsArmorID>},{id:<shirtArmorID>},{id:<headArmorID}] <otherNBTTags>}
Note that blocks can only be head armor and not any other armor. You can however place other things into these slots for a chance of drop on death.
For a zombie wearing water and named "Underwater Mission Fail" (in bold red), run this command:
/summon Zombie ~ ~ ~ {Equipment:[{},{},{},{},{id:10}] Name:&4&lUnderwater_Mission_Fail}
In the 1.8 and above snapshots, you need to use the block name instead of the block ID. For example, spawning a Zombie wearing only TNT for a head will have this command instead of the above:
/summon Zombie ~ ~ ~ {Equipment:[{},{},{},{},{id:tnt}]}
This is pretty easy to do with 4 fill
commands in command blocks: 2 for a fill clock (either a 20Hz clock or a single shot pair), and 2 to actually replace the wool. Add one more command block for a single tick button, and 2 more command blocks if your fill area contains air that you don't want command blocks in. I'll assume the latter, since it won't make a difference if there isn't any air blocks to fill initially. So, seven command blocks. This is what it looks like:
![Command Block setup](https://i.stack.imgur.com/iE280.png)
I'm using tilda notation in my command blocks to reference the 4x4x4 area with the wool, but it may be desirable to use absolute coordinates for production purposes. In any case, the commands in the command blocks are as follows:
fill ~2 ~1 ~ ~7 ~1 ~ minecraft:redstone_block
(set the stone to redstone blocks)
setblock ~-3 ~ ~ stone_button 2 replace
(quick reset the button, located on the right side of command block 1)
fill ~ ~ ~2 ~3 ~3 ~5 barrier 0 replace air 0
(replace the air with barriers, but there may be a better block to use, especially if players will be in the area)
fill ~-1 ~ ~2 ~2 ~3 ~5 air 0 replace wool 5
(replace green wool with air)
fill ~-2 ~ ~2 ~1 ~3 ~5 command_block 0 keep {Command:"setblock ~ ~ ~ wool 5 replace"}
(replace the air with command blocks)
fill ~-3 ~ ~2 ~ ~3 ~5 air 0 replace barrier 0
(replace the barriers with air)
fill ~-5 ~1 ~ ~ ~1 ~ stone
(reset the redstone blocks back to stone)
After hitting the button on block 1, we see the following:
![Green wool replaced with command blocks](https://i.stack.imgur.com/YJPEX.png)
As I said earlier, if your target area doesn't contain air blocks, then you can forego the two command blocks that set and reset the barriers. Simply remove them in that case.
Best Answer
When summoning a mob with equipment, you don't combine the metadata into the id, there is a separate tag for metadata