What is the 2D version of Collider.ClosestPointOnBounds? It's for a Collider2D intersection check, basically a 2D version of this: http://answers.unity3d.com/questions/216095/how-to-perform-intersection-test-between-two-colli.html
I don't believe such a function exists for Collider2D. You could try using Bounds.ClosestPoint to do collider2D.bounds.ClosestPoint(otherPoint).
I'm pretty sure that just clamps the point within the axis-aligned bounds. Doesn't help much if the gameobject the collider is attached to is rotated, or if the collider is not a BoxCollider2D. You could just do a boxcast towards the other collider, but the performance is terrible.