you can use a disable collission action on an object based on whatever condition you setup.
or you can use a plugin like chipmunk phyics that has collision groups and prevent certain objects from colliding with others based on that group.
for your top down game example question.
make the water a solid object. Then if the player is next to a rock block. and pushes up (to push the block into the water lets say). you can use the "on collision at offset" action to check if there's water behind the rock, and if so, disable the collision on the water, and move the block into its position.