I suspect this can be streamlined, but here's how you can get to it using Python:
pt_fc = 'points' # points feature class
sr = arcpy.Describe(pt_fc).spatialReference # points spatial reference
dist_field = 'dist' # existing distance field, type double
line_fc = 'dist_lines' # lines feature class
search_dist = 10 # maximum search distance, in linear units of spatial reference
with arcpy.da.UpdateCursor(pt_fc,['SHAPE@',dist_field],spatial_reference=sr) as cursor: # loop through points
for row in cursor:
cur_pt = row[0].centroid # switch from point geometry to point object
new_line = arcpy.Polyline(arcpy.Array([arcpy.Point(cur_pt.X-search_dist,cur_pt.Y),arcpy.Point(cur_pt.X+search_dist,cur_pt.Y)]),sr) # make horizontal line
temp_lyr = arcpy.CopyFeatures_management(new_line,r'in_memory\line') # switch from geometry to feature layer
int_pts = arcpy.Intersect_analysis([temp_lyr,line_fc],r'in_memory\int_pts',output_type='POINT') # intersect horizontal line with line feature class, return points
min_dist = float('inf') # initialize minimum distance
for int_pt in [row2[0] for row2 in arcpy.da.SearchCursor(int_pts,'SHAPE@',spatial_reference=sr)]: # loop through intersection points
dist = row[0].distanceTo(int_pt) #calculate distance between points
if dist < min_dist:
min_dist = dist # set as minimum distance if appropriate
row[1] = min_dist # store distance in row
cursor.updateRow(row) # update row
arcpy.Delete_management("in_memory")
Basically, for each point, draw a horizontal line from the point, intersect it with the lines, and get the distance to the nearest intersection point.
Notes: if there are no intersections, this appears to return a value of exactly 1, but you can program around that if it's a problem. Also, you mention latitude which is generally measured in degrees. I took your use of latitude simply to mean 'Y-value'. This may not work properly (i.e. it may return distances in degrees) if you are using unprojected data. Project first.