Visiting for 3 days in May, 2015 --- suggestions for Good to Very Good B&B.
For 3 nights last month, we stayed at the Roskill House B&B (http://www.roskhillhouse.co.uk/), just south of Dunvegan. They're on the northwest part of Skye, away a bit from the "urban" center of Portree, and close to the Neist Point walk described in Rick's guidebook, to Dunvegan castle, and well connected by road to the Trotternish Peninsula and other parts of the island. Friendly hosts, great breakfast, reading room, wifi, and an extensive library of Skye maps and hiking guides. They even fixed us a packed lunch one day which was handy and delicious, allowing us to head out on our excursion and have lunch all set. If you have a room upstairs, though, mind your head going up the stairs - it hurts if you don't clear the ceiling beam 1/3 of the way up. There's a brass "Duck or Grouse" plate marking the spot. They also have 2 ground-floor rooms, though. If you're driving, be prepared for narrow roads on Skye!
My wife and I stayed one night at the Coruisk House in Elgol and really enjoyed it. Claire and Ian do an excellent dinner with fresh local ingredients. It's a bit far from Portree, but not far from boat trips to Loch Coruisk.
Is your heart set on it being a B and B? Because Flodigarry Hotel, where we stayed a few years ago, is quite lovely. You can even stay in Flora MacDonald's cottage if that strikes your fancy.
I stayed for a week at the Skye Picture House a number of years ago. It looks like it's been well maintained. The location is different--not in town--but the views are really wonderful. We saw lots of wild life.