Если я правильно понял задание - нужно получить одну (пункт 1) или множество (пункт 2) точек, лежащих на существующих ломаных, при котором длина A-P-B минимальна или меньше необходимой длины, то я бы сделал так:
По пункту 1. Длина будет минимальна, если углы наклона прямых (A; P) и (P; cool.gif будут равны (это будет прямая), то есть нам нужно найти точку, в которой разница между этими двумя углами будет минимальна. Поскольку, если бы точка могла находиться в любом месте ломаной, то решение было бы - сама точка A или B, значит, скорее всего, эта точка должна принадлежать множеству M. Следовательно просто проверяем все точки и находим минимальную разницу между углами.
Код

ang := pi;
for i:=1 to N do
begin
  if (xA = M[i, 1]) then
    ang1:= pi/2
  else
    ang1:= arctan((M[i,2] - yA)/(M[i,1] - xA));

  if (xB = M[i, 1]) then
    ang2:= pi/2
  else
    ang2:= arctan(yB - (M[i,2])/(xB - M[i,1]));

  if (abs(ang2 - ang1) < abs(ang)) then
  begin
    ang:= abs(ang2 - ang1);
    MinX:= M[i, 1];
    MinY:= M[i, 2];
  end;
end;

В MinX и MinY будут нужные координаты точки.

По второму пункту.
Нужно сформировать множество P, точки которых лежат на ломаных A-M-B и A-P-B меньше какой-то длины.
Если нужная длина меньше расстояния между A и B, то таких точек не существует. Если больше, то существует для всех ломаных.
Найдем расстояние от точек A и B для каждой ломаной, которое нам подходит.
Найдем расстояние от точки A, при котором A-P-B равняется нужной длине и лежит на прямой A-M. Для этого нужно решить уравнение sqrt(sqr(Ax - Px) + sqr(Ay - Py)) = s. Причем Py должна лежать на прямой A-M. То есть Py = (My - Ay)/(Mx - Ax)*Px + Ay.
Обозначим (My - Ay)/(Mx - Ax), как A. Получим sqrt(sqr(Ax - Px) + sqr(Ay - (A*Px + Ay)) = s. Отсюда Px = (Ax+sqrt(sqrt(s) - sqr(A)*sqr(Ax)+sqr(A)*sqr(s)))/(1+sqr(A)). Py = A*Px + Ay. Если sqrt(sqr(Ax - Px) + sqr(Ay - Py)) больше, чем sqrt(sqr(Ax - Mx) + sqr(My - Py)), то точка может лежать в любом месте отрезка A-M. Если же меньше, то точка должна лежать по x - между Ax и Px, по y - между Ay и Py. Аналогично для отрезка M-B. И так для всех отрезков.
Вроде ничего не пропустил smile.gif.