I have a dwarf that is demanding shells, but I have no fishable above-ground water. I've dug down to the first caverns and set some zones down there as 'fishable', and my fishermen fish for a while then report that there are no fish to catch. The zones on the surface have a 0 next to the 'fishing' option when zoning; the zones in the first cavern have a 1 or higher. Am I doomed to lose every dwarf that demands shells, or is there a way to get shells somehow that I haven't figured out yet?
Currently if you can't get shells from your map, they are doomed. An alternative is to mod another creature to drop shells and butcher it (dogs work well).
In the latest versions, only dorfs with a "shell fetish" will demand shells for their artifacts.
See the df wiki for more info.
You will see lots of experienced players bring 1-2 shells during embark to solve this exact issue. It may not help your current fort, but you can keep it in mind for the next one. Its definitely worth the tiny cost to keep that dwarf alive and get a legendary crafter.