Hi General, welcome to A2K and the forum. What a start!
If the approximation that the Earth is spherical is made, it is fairly easy to give a general answer to 1. Although I doubt everyone would agree.
Let r_A and r_B be the position vectors of towns A and B with respect
to the centre of the Earth, and let R be the radius of the Earth. Then
d, the distance between A and B is given by d = R*a,
where a is the angle (in radians) between vectors r_A and r_B. This is just the definition of angle.
If you want to use degrees for angle a,
d = R*a*pi/180.
Now, how is the angle a found?
r_A dot r_B = R^2 * cos(a),
so,
a = arccos{(r_A dot r_B)/R^2}
What about r_A dot r_B ?
Code:
r_A dot r_B = x_A * x_B + y_A * y_B + z_A * z_B
= R^2 * [sin(t_A)*cos(p_A)*sin(t_B)*cos(p_B)
+ sin(t_A)*sin(p_A)*sin(t_B)*sin(p_B)
+ cos(t_A)*cos(t_B)]
Latitude and longitude relate directly to spherical coordinates
theta = t and phi = p. Longitude is p (take west to be negative) and
t = 90 - latitude (take south to be negative).
(I've chosen the convention for phi and theta usually used by physicists, which I think is opposite to the convention usually used by mathematicians.)
As for 2. You would be better off in a plane unless you have an amphibious vehicle.