SURF in OpenCV is the implementation described by the paper: SURF: Speeded Up Robust Feature [Bay et al - http://www.vision.ee.ethz.ch/~surf/eccv06.pdf.]
Comment - Another apporach that could be used is SIFT, which is a sort - like approach to SURF. http://www.cs.ubc.ca/~lowe/papers/ijcv04.pdf
Since the paper defines features of grayscale images 8 bit, the implementation does this also. You could dive into the sourcecode and try to create your own SURF implementation for 16bit integers, but it won't be simple.
On the other hand, there are actual reasons for choosing 8bit grayscale images
1) Normalized grayscale images to cope with lightning conditions
2) 8 bit in order to cope with curse of dimensionality
So good luck with trying 16bit, but don't see why this would be usefull. 8 bit already gives you tons of feature points in an image to match. Going to 16 bit will increase this probably BUT will also increase your matching step, making it even more slow then surf already is.