Here is a short workflow to summarize contributing comments above. The workflow involves: (a) creating a fishnet; (b) intersect island polygons and fishnet; (c) select fishnet lines by length; (d) split polygons accordingly.
It requires manual and repetitive work, but can be possible automated with arcpy (though I'm not sure about the use of
split polygons in arcpy).
fishnet can be done collectively or for each island. If the second approach is adopted, one can rotate the grid according to the main axis of the island. However, for demonstration and for the sake of simplicity I will not rotate the grid. I use the extent of my island polygon (it is actually a basins layer), and set cell size that corresponds to the breaks along the "shore" (here, about 0.004167 decimal degrees).
Intersect & Select by Attributes
The use of intersect gives the following polyline layer. I used symbology to show changes to line length. After intersection the length property shows the required shore-to-shore distance.
Here I use
Get unique values to choose a distance that is the closest to a threshold of 5000 meters (The 50 - 200 meters showed in the question, do not exists in my layer).
Finally, use the split polygon tool from advanced editing tool bar.
Note that the operation requires that while in editing mode, you select the line with which you would like to split, and than approve the operation (I used the default settings).
Additional information can be found in arcmap help pages on splitting a polygon, creating a fisnet and rotating a fishenet (in GIS-SE), and the use of intersect.