Just a few ideas....
I am testing a few of these today...
pretty sure they will work...
Yes making smaller wall segments is an option but you could also try adding a few instance variables to the Wall segment and Store "fake" Y coordinates in them...
Determined by getting the BASE Y of the wall segment and then subtracting divisions of measurement to create the Variable "fake" Y positions.
then if you game is more or less tiles based you can compare the Units Y axis to the Fake Y coordinates of the wall segment....if you know what I mean...
For example a Wall segment that was 100 pixels wide but spanned say, 100 pixels in Y coordinates..then you could break the Variables up into proportionate "fake" Y coordinates... at each respective jump in Y difference....Does that make sense?
Of course you will still need to refine it..but it seems that you are using a sort of Grid based snapping system? try to incorporate that into your grid system...if you are not using a snap to position grid then It may be alot harder....
You could also use image Points to enable snap to positions set at any interval you like along the wall edge ..then when your attacking units
get close to the wall you could Snap them to the image points position...
Or even easier, place a small invisible marker sprite at the wall edge image points which you set up in the animations editor..(let's call them "Attack points")
Then you can very easily "direct" your attacking units to the wall segments "Attack points" via the "Set VECTOR" or "Set angle of motion to object" or similar functions
Example image
<img src="http://s10.postimage.org/prldiunx5/FAKE_BASE_LINE_EXAMPLE.jpg" border="0" />