sorry because this post is big and not well described but i think people will know the idea
1.)
something like this could be made ( i think ....)
create 2 units (unit A and unit B)
A and B (units) are walls´s endings (from beginning to end)
A------------------------------------------B
so if enemy is ordered to go trough "---------------"
-order unit to move to nearest ending of wall (it can be A or B) and after he comes to (A or B) he must be ordered to go to "real" ordered location
-i think that with real ordered location could be a bit of a problem,but if it is just ordered by computer (creep),u can use rally as dummy rally that will save the real ordered location so that unit will know where to move when he comes to A or B (the ending of wall)
-this is what should happen
-if unit is enemy
than if he is ordered to go trough wall,trigger will ordered him to go to the end of wall (A or B) and when he comes to ending than he goes to ordered location
2.) - i think this cant be made nice
make a lot of portals ... ( "O" is portal , "----" is wall) visible to allies (add invisibility to them)
OOOOOOOOO
-------------
OOOOOOOOO
So when allied unit is ordered to go trough wall he will automatically go trough portal to pass it
3.)
make dummy enemy units in walls´s line (under the wall)
"O" is dummy, (where is O there is wall)
OOOOOOOOOO
now if enemy unit comes near wall he must be attacked by dummy units
each attack needs to turn off collusion for 1 second and collusion needs to be turned on when 1 second passed ( i think this is hard to do xD )