Grasshopper created surfaces defined by XYZ Excel data etc

I know Excel or CSV can be used, presumably, to create a mostly planar 3D surface modulated by the XYZ data in rows and columns.

Once created, can interpolated ( apart from and between canvassed point data) XYZ values be read?
Could Grasshopper and/or Rhino be used to read specific fields of interpolated data of interest, defined by curves (linear or otherwise) superimposed on the aforementioned surfaces?

Finally, could that data be used to modulate XYZ data defined by CAM NC files, producing (for example) machine code adjusted for variations in surface thicknesses peculiar to individual sheet “fingerprints”?

I would like to make use of point sampling creating an uneven surface (likely in Grasshopper) to then derive interpolated values located at positions defined by overlayed curves, for use with NC files. Sheet goods vary in thickness, and this can be problematic with shallow grooves.

Is it possible?

A CSV file with point coordinates can be imported into Rhino.
The Patch command in Rhino is one method to create a surface from points. How precisely does the surface need to fit the points. “Exact” fitting may be difficult if the points are close together.
Or third party software can be used to create a mesh from the points, and the mesh then imported into Rhino.

A surface or a mesh created from the points essentially interpolates between the points. EvaluatePt can be used to query the coordinates of a point on a surface or mesh.

Curves can be projected onto a surface or mesh.

It may be simpler to project or flow the curves used at input for CAM directly on the surface, and then generate the code from the projected curves.

Thank you, David, for your input assisting me in this quest. Getting from broad strokes to actual implementation will require quite a bit of doing, but I have a direction which I know isn’t fiction.