The big advantage of coaches for the cruise operators is that they can pick up from the dockside, so you're not left with several hundred to a couple of thousand tourists ambling through town at varying rates and with varying degrees of navigational accuracy. Even if they wanted to run rail excursions, they'd probably still lay on coaches to take passengers to and from the station. Unless the attraction at the other end is next to the railway station, they'll want coaches at that end too. So you'd be paying for the coaches all day, as well as potentially a second set of coaches depending on the destination and travel times by road and rail, and there are two extra occasions when you have to marshal passengers.
For rail excursions to appeal, the operator needs to be able to get their passengers straight from the ship to the train, go directly to a rail-served destination, and be confident of getting them back again in time for sailing. There are relatively few cases where that all comes into place, and the Far North isn't one of them. The stations are in the wrong place for the ports, and the service isn't resilient enough to guarantee that the train won't miss the ship sailing.
And all of that is before they've even approached the railway to find out if they can run a train that meets their requirements. I'd be surprised if they even bothered asking the question.
There's nothing stopping a tour operator chartering a train to suit their requirements, except cost. That is, after all, what the Royal Scotsman does. I imagine there probably are companies who could (say) fill a single carriage on the Kyle line a couple of times a week, and it's unfortunate if the railway operates in a way that drives them on to the roads. The ability to proved additional carriages for this kind of traffic would be nice, but is almost certainly impractical for all the usual reasons.
All very well expressed!
