Using lsqnonlin makes sense ;
Considering documentation notations (http://www.mathworks.fr/fr/help/optim/ug/lsqnonlin.html), the functions are the following :
f1 = sqrt( (E-x)^2 + (F-y)^2 ) + sqrt( (G-x)^2 + (H-y)^2 ) + p - A(B-C-D)
f2 = sqrt( (L-x)^2 + (M-y)^2 ) - sqrt( (N-x)^2 + (O-y)^2 ) + p - A(I-J-K)
Solver will minimize f1^2 + f2^2. Of course, you can add additional equations, but they will not be considered as hard constraints.
If you want your solution to enforce constraints, you should be able to do it with fsolve.
Cheers