If you're using Tilemap Editor (www.mapeditor.org) then this tool can be of a little help. Hope you'll like it http://www.guava7.com/2012/tool-for-optimizing-tilemap-tmx-format/
Not sure if I understand the purpose of that tool... You use a tile sheet to save on memory and have fewer graphic calls. If you use that tool, then wouldn't you need a tile sheet per map because each map would have specific tiles? So then you run in the problem of having multiple copies of the same asset, and if you wanted to update a tile, you'd have to make the changes to multiple files instead of one main tile sheet. Maybe I'm wrong and it is very useful for your workflow? But, I thought it was best to separate the tile sheets by level types, to maximize space (fire, ice, woods, etc.,).
Thank for you feedback. Nope. If all maps use the same set of tilesets, they could be declared in config file. They all will be counted when generate new tilesets In the other hand, this tool also supports "keep function", by which user could manually ignore rearrange a specific tileset Nope. You should keep original design, but before using in game, do a optimizing step. According our workflow, original map is called "raw data". Raw data are not used directly in game, they will be "made" before using (by some command-line code ...) Right now, it's not intelligent enough to detect all of cases, but your feedback help it will be