You can use CloudMade's Geocoding API to search for an island in the OpenStreetMap data. The API will return the geometry of the result by default, and this sounds to me what you are looking for. For example, Arran off the coast of Scotland can be found by the following http request:
http://geocoding.cloudmade.com/BC9A493B41014CAABB98F0471D759707/geocoding/find/Arran,UK.js?results=1
(and as a neat little hack, changing the .js to .html previews the result.
More docs and examples on the API are at developers.cloudmade.com/projects/show/geocoding-http-api
If you don't want to use the http api, then abstraction APIs are available in multiple languages - ruby, python, perl and others.