Has he had a bile acids test? Many of his symptoms suggest he may have a liver shunt which are very common in Yorkies, unfortunately. In fact, Yorkies are 36 times more likely to be born with a shunt than all other breeds combined.
Portosystemic Shunts FAQ