no, there is no function to intersect it with another mesh. but you can intersect it with many lines if you like, the input for transforms is spreadable.

a valid solution would be to output the point which get hit first in terms of raylength, not in terms of surface order in the mesh.

looking at the help patch for Intersect (3D Mesh Ray) it seems to me that it works like that.
the hitpoints are chosen in a way, that they have a minimal distance to the lower end of the line.

the intersection output referes to the mesh transform input. you see there which mesh was intersected.
to intersect a spread of meshes with a spread of lines, you have to input all possible combinations of the transforms. like a Cross (2d) does with values.

what your patch does right now is, it checks if the first line intersects the first mesh, the second line intersects the second mesh, the third the third and so on…

I see… I thought intersect was meshes and lines indices free. So if I want to be sure my 16 lines to fully intersect with meshes, I would actually have 16 lines*64 meshes…