London is a very expensive city for lodging of all kinds. Any place to stay, anywhere near London, that only costs $18 per night is very suspicious. Even a bed at a hostel is far more than that.
As for food, not only are supermarkets cheaper than Pret a Manger, but there is a range of supermarkets. Waitrose and M&S are higher end and most expensive (think Whole Foods - which London also has a few of), Sainsbury's is midrange, and Tesco is cheaper still. All are fine. If you're on a strict budget, getting most of your food from supermarkets and only occasionally splurging on other food sources (even the cheaper ones like Pret, much less actual restaurants) is the way to go. Also remember, when you're traveling, you don't have to pay for food at home (unlike accommodations, which you pay for in addition to your home rent or mortgage). So, the only thing you have to worry about is the price difference between what you'd spend on food while at home and what you're spending in London.
Another tip is that prices outside of London are lower. With two weeks, consider spending some time in other parts of the country; in addition to saving money, you'll get variety. For instance, Liverpool is quite different from London, as well as cheaper, but no less interesting or worthwhile. If you do want to take trains to places outside of London (and thus, beyond where your Oyster card will work), you'll want Advance train tickets. These tickets are for a specific train and are non-refundable; in exchange, they are much cheaper than more flexible or last-minute tickets - as in, one-third to one-fifth the price!
A good source of information for budget travelers (lodging, money saving tips, etc) is EuroCheapo. Here's their London page; note the prices for their "cheapo" accommodations, and you'll see why I'm worried about any place charging only $18: https://www.eurocheapo.com/london/