Three, because the sum of two numbers on the same milestone is 999, the sum of the unit digits of the two numbers is 9, but 9 is odd, so the unit digits of the two numbers must be different, set them as $c$ and $9-c(c=0,1,2,3,4)$.
If only two different digits appear on a milestone, then they are $c$ and $9-c$.
The numbers formed by $c$ and 9-c within three digits have $2^{3}=8$.

And $c$ has 5 possibilities, so the milestones that only show two different digits, in total, have $8 \times 5=40$.
Three, A and B are 999 km apart, and there are 1000 milestones along the way, each indicating the distance from the milestone to points A and B, such as (0,999), (1,998), (2,997) ..., (997,2), (998,1), (999,0). How many of these milestones have exactly two different digits on them?