Recently I have watched a video demonstration with a sponge and mercury and the sponge can't absorb mercury like it does with water.
Why is that?
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.
You are asking wrong way. Sponge does not absorb almost anything. Apples, sand, dust, wires,...
The point is: Why can sponge absorb water?
Because the interaction of water and the sponge are similarly or even more favorable than interaction inside water. The nature of this effect is capilary action.