Everwhere on Skye is small. Even our capital, Portree, is known as the Village. If you must be within walking distance to restaurants and pubs on Skye then you'll really be restricting yourself to Portree, Broadford, Dunvegan, Carbost and Uig.
In season more and more of the eateries in Portree and Broadford are not taking reservations, which is resulting in lines out of the door while folks wait for tables. You might do better basing yourself in charming Lochbay, or close by on the Waternish Peninsula - where you will find the absolutely first class Lochbay restaurant (1 Michelin star but without the price tag) and the historic Stein Inn, which has just been taken over by a well known chef who has said he wants to do excellent pub food.
In Edinbane you will find the excellent Edinbane Lodge for fine dining and local ingredients - they also have rooms, or the Edinbane Inn - a pub with B&B rooms.
In Carbost you might enjoy trying the very fresh and local seafood at the Oyster Shed. Handy for a lunch stop in between a visit to Talisker distillery and the Fairy Pools or Talisker Bay.
Hope this helps