Could a barcode scanner be used to get surface depth information?
Over those short distances, the intensity of the reflected light will not vary enough for the bar-code scanner to detect. But I think you're on the right lines. How about a line-generating laser, that is, a laser diode that generates a line rather than a point of light. Then, if you view that line from one side, surely you'd see the straight line broken up by the surface irregularities? Could you then use a camera and some image-processing software to work out the shape of the surface?

Another way might be to use a device like a Kinect, but on a much smaller scale. I wonder if you could add lenses to a Kinect so that it focused much closer and could resolve small detail?