How about a layer that changes the depth of link as he gets closer. So when he comes to a walk-through wall, he's at one point in front, then he gets behind it. Here see my ASCII illustration:

L = Link
X = wall

XXXXXX ^^^^ XXXXXX
XXLLXX ===> XXXXXX
XXLLXX ^^^^ XXXXXX


He moves foward, and then He's behind it. The depth for this would be something like 500-y. You could even apply this to FFC's. This layer would be named layer $ or something.