Why sponge can't absorb mercury
I think the key feature is the surface tension of mercury-air which is extremely high (about 7 times water-air which is already high), combined with the chemical nature of the sponge, which is typically cellulose.

Since cellulose is a big polysaccharide it has a reasonably favorable interaction with both water (due to the OH groups) and alcohols and alkanes (due to the carbon chain). This causes the contact angle of water, alcohol and alkanes with the sponge to be low (at least lower than 90 degrees) thus allowing capillary action to suck the liquid into the sponges pores. The metallic nature of mercury has an unfavorable interaction with the sponge thus resulting in a contact angle above 90 degrees. This will not allow capillary action because the cosine of angles above 90 degrees is negative, therefore the sponge cannot soak up the mercury.

A sponge made out of metal (silver is common I believe) would be able to soak up the mercury because it has a favorable interaction in terms of surface energy.