The Old Navy ones are too big too...their smallest (can't remember if that's S or XS) was WAY to big for 5 lb. Emma. All of their dog clothes are more like the 7-9 lb range. Maybe next season they'll get smaller ones.
All that was left at Target for us too was M, L, and XL. They had some at Petsmart-they had a duck, a bee, a ladybug, a princess, a bride, groom, jailbird, mad scientist, ballerina, pumpkin and a COW, which I bought for Emma, and had to return. (see the expression on her face in the pic below, and you'll know why I had to return it). She's now going to be a princess
(I posted this somewhere else too-sorry for doubling up!)