You can use linear referencing to add the distance along a line to point features. It is possible add mesaures to lines like the kilometrage of a road. Later you can query this M-values with points.
- Create a line feature (no multipart) with an ID with Multipart to single part.
- Add an ID-field to your points, which you probably did already.
- Use the tool Create Routes of the linear referencing toolbox with the line feature to create a route. Routes have M-values in addition to x and y. As measure source use LENGTH, to add the distance from the start point of the line segments as M-Values.
- Now you can use the points and the just created route with the tool Locate Features Along Routes. With this tool you can add M-values of a routes (in our case: the distance from the start point of the line segments) to points.
As output you get a table with the point-IDs and the corresponding line-ID and line distance from start of each segment (M-Value).
(works with basic license, tested with 10.0 and 10.2)
EDIT because of comment:
You somehow need to identify the lines with "wrong" direction.
- Draw an arrow at the and search visually for double arrows in the view or
- You can convert the lines to endpoints. (Feature Vertices To Points, ArcInfo-license) and look for double points.
Create two new [double] fields: MeasFrom and MeasTo. Use fieldcalculator to set MeasFrom to 0 and MeasTo to lenght of the line. For lines with "wrong" direction you set MeasFrom to lenght of the line and MeasTo to 0.
As before, you can use the tool Create Routes of the linear referencing toolbox. This time use TWO_FIELDS as measure source and choose the fields MeasFrom and MeasTo as sourcefields. After creating the Route you use again Locate Features Along Routes.