Cable has different rules when it comes to what channels they can offer, i.e. those from neighboring cities/markets.
As I mentioned above, Dish won't give you channels from multiple markets. Using an antenna to pick up one market and telling Dish you live in a different market is about the only option you have, but in your case, it doesn't sound doable. I am in the Dayton OH market and also get Cincinnati's locals via antenna.
40 miles almost rules out using an indoor antenna to pick up channels. The (2) stations you do pick up with your antenna are from Wheeling, I presume ? I just checked something based on your 40/25 numbers and the NBC station makes sense - you're only (2) miles away from it's broadcast tower. Is the PBS station channel 45 ?
Looking at TV Fool for your "area", channels 9 and 45 are pretty much 180º apart, so you're picking one of them up with one side of your antenna and the other with the back-side. I don't remember the distance now but I thought 45 was 30+ miles away, which is pretty impressive to get with an indoor antenna.
Or if the market that the SV channels come from is HD-only. (Look at Brattleboro, VT - Boston DMA, all Burlington, VT stations are SV. Burlington, VT is HD-only, so all locals in that county are HD.)
The idea that the HD can't be shown in a SV market is the dumbest thing since the idea that DMAs should be implemented. Why should I pay to get something in SD when I can get it HD for free? I suggest the OP get am AM21 and good antenna anyway. Subchannels and all locals no matter the weather and contract negotiation status AND all, well most, HD primaries).