You will have a fantastic time at whichever of these you choose. The Ferry Inn is the most pub like of the 3. Portions are probably slightly more on the hearty side.
The Lochbay is my personal favourite. If you choose the tasting menu then yes the portions are smaller, but still plenty (I am always full and I'm not a size 2 - you can probably add a zero to that!). If you have the 3 course menu then portions are larger. The service is wonderful and the food is fantastic (IMO) as is the location.
The Edinbane Lodge is my husband's favourite and is also number 1 on trip advisor at the moment. They only do a tasting menu and there are many courses so you won't leave feeling hungry!
Any of these places will, I'm pretty sure, be happy to supply more bread free of charge. Oh and at the Lochbay you get wonderful seafood nibbles to accompany your menu deliberations.
I ate at the Three Chimneys (very close to my house) earlier this week and would now have to add it to my list - having removed it last year! The change of ownership seems to have freed the wonderful chef Scott Davies to do his own thing with aplomb. The food (we had the 3 course dinner menu) was excellent, although service is somewhat amateur. I think this is because they struggle to keep staff due to the more remote location.
Of all these, Edinbane Lodge is closest to Portree.
Sadly I can't recommend a taxi company as I never use them. But I'm sure your B&B or Hotel would be happy to help you out.
Would love to know what you decide and what you think when you get there.