Well, you stated in your first message that a value of 0x0fff is 5V and 0x0000 is 0V. So what you schould do is:
1 Have a VI or independend while or whatever reading bytes at serial port and append it to a variable or shift register or queue or whatever storage place.
2 Find a pair of characters, where the first one is below 16 (0x0?) and the second is > 15 (This assumes your data is somehow distributed in its data range, so that the high nibble of your low byte is >1 most of the time). This synchronises your conersion vi.
If you found such a pair, delete all characters _before_ that pair, than
a remove the next pair of characters,
b unflatten it to a U16,
c re-check synchronity (U16.AND.0xf000 == 0)
d restart with 2, if not sync'd
e else multiply this by 5/4096 - voila!