I've been to both Coco Cay and Labadee. Both were great, but I think I may prefer Labadee, as there is more to do it seems. You can also just lounge on the beach at Labadee, as well as Coco Cay. Also, at Labadee, there's the zip line, as well as parasailing and the roller coaster, among other activities.
Regarding a pier / dock at Coco Cay, I also don't think that's possible given the layout. If memory serves me correctly, the tenders have to go through a small inlet or channel to access Coco Cay, so that would have to be a pretty long pier, as ships would still probably have to dock far from the island, as they would be too big to fit through that channel.
Or, in the case of Labadee, build the pier in another location more accessible to the ships. On my most recent cruise, I went to Labadee for the first time. From what I've been told, the ships now dock at a different area than where the tenders used to dock.
2007 - Majesty of the Seas (Bahamas)
2009 - Enchantment of the Seas (Western Caribbean)
2010 - Freedom of the Seas (Western Caribbean)
2013 - Golden Princess (Alaska, roundtrip from Seattle)