This is not a questionable practice. The bike shop buys products its customers need and then re-sells them at a profit. That is their business model. You needed a bike, but because of your physical dimensions, you also needed a non-stock stem. The bike shop paid for the bike and sold you the bike at a fair price. The bike shop paid for the stem, so they sold you the stem at a fair price. Why do they owe you free stuff?
If you go to the grocery store and buy a nacho plate, but the nacho plate doesn't come with guacamole and you *really* like guacamole on your nacho plate, do you try to talk the checker into giving you free avocados, since that's the way you like nachos? Of course you don't, you don't want to be that guy. So don't be that guy at the bike shop either.