He sure is tiny! Have you tried to sprinkle a little Parmesan cheese on his food? Dog eat by smell and sometimes the cheese does the trick. How about a little chicken and rice? He really needs to eat and drink.
I would be concerned that he is throwing up. If you cannot get him to eat you might consider the ER.
Many Yorkie have double teeth. They are usually removed during spay/neuter around this age.