Hi Steve,
I could not find a way of pre-booking a cab more than a couple of days ahead (we are on for 21 days). As we have a 12 noon flight and there is talk about how difficult it is to get a taxi from the port I chose to go with Booking.com. I have used this method before.
1. You do pay immediately but it is fully refundable up to 24 hours before travel.
2. It would certainly be worth asking the hotel reception. If they can not help you, there will still be time to book elsewhere.
Kind regards