As you can guess from my name I live in Gairloch, Wester Ross. With my wife we run a B&B but I am not touting for business. However, Gairloch is a good place to base yourself, plenty of accommodation and good eating places offering sea food and local meat. Google Gairloch and you will find lots of information. I do not know of any B&B's who will let you cook your own food but you could always ask by email, before you book.
It is not possible to do John O'Groats in a day from Gairloch without a lot of driving. Be aware that driving times in the Northern Highlands can be longer than you imagine. The roads, some single track with passing places, are narrow and windy so although mileages may be small, driving time is much longer. Anyway, what do want to go to John O'Groats for. It is a terrible place, full of tacky souvenir shops. Believe me you don't want ot go there.
If you want a base further north, Ullapool, 60 miles north of Gairloch is a buy place. It is the ferry port for the boat to Stornoway.
Hope this helps.