I can think of a couple ways, but the simplest way that's coming to mind is if your transecting line is in the same feature class as your parallel lines, you can use the planarize function to break all the the lines at every intersection (be warned - do this in a copy of your feature class, because it will alter all geometry). Unfortunately, I don't have Arc 10 yet, but in 9.3 this is a button on the topology toolbar. After the lines are planarized, simply select all the segments of the transecting line, and run statistic on the shape length column to get min/max/avg distances. This approach would also work for multiple transecting lines at the same time, too.
In your case I would draw lines perpendicularly to the red lines for each point, then intersect those lines with the green lines to find the new points.
With your line running exactly north/south, you can use the "bearing distance to line" tool with the coordinates of each point as origin (e.g. computed using "add XY coordinates")
Here is a small code snippets, assuming you created "distance" (your maximum offset distance) and "bearing" (direction of the perpendicular). bearing should be filled with 90 , the run again for 270 to look on the other side. (in degrees)
import arcpy
fc_point = "path_to_points"
fc_perp = "path_to_perpendiculars"
fc_greenline = "path_to_green_line"
arcpy.BearingDistanceToLine_management (fcp, fc_perp, "POINT_X, POINT_Y, "distance", "METERS", "bearing", "DEGREE")
arcpy.Intersect_analysis ([ fcgreenline , fc_perp ], "path_out", "ALL" , "" , "POINT")
note that if you have several orientation with your straight lines (in red), you can compute their orientation with PYTHON in the field calculator, then extract the value for each point using spatial join (adding 90 for the perpendicular direction)
180 + math.atan2((!Shape.lastpoint.X! - !Shape.firstpoint.X!),(!Shape.lastpoint.Y! - !Shape.firstpoint.Y!)) * (180 / math.pi)
Best Answer
I had been looking for something similar for research I was doing awhile ago but just came across this. If you are still looking for a solution I hope it helps: http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//001t00000029000000.htm