This is a serious challenge you've offered.
I doubt you can do it with an arduino since the system will require a fair degree of "interactive intelligence" to interpret where the start and end of the crack are to be determined. In all probability there will be some degree of degradation of the edges of the crack that will require interpretation.
I'd suggest you consider an optical microscope that can be placed over the crack, this feeds onto a PC or laptop screen, with superimposed dimension scale. The scale is determined by the x-factor of the microscope. You then visually determine where the start and ends of the crack are and read off the scale dimension.
Calibration of the system is easily set by using spaced lines and setting the dimension scale accordingly.
I see Jimbo also has experience of measuring with parts of a gnat