MCP3008 ADC , Reading 16 bits instead of 10 bits
No, the MCP3008 is a 10-bit only ADC.  Take a look a how the microcontroller reads data from it:



Notice that Dout will only output a 10-bit value [B9:B0], and there is no way to have it send the microcontroller a number with more bits.  Therefore what you are seeing is most likely a left-shifted value.  For example, if the output of the ADC was 385 as a 10-bit (which is 0110000001 in binary), if you shift to the left 2 times you'll get 1540 (which is 011000000100 in binary).  But you haven't really gained any new information, just multiplied the number by a factor of 4.