Since the tileset.SET file is a text file, and since it can be scanned by almost anything, there are multiple ways to search for what content IS used. I think I have a macro written by OMB for open office (I am searching but this will take me a bit to find it). This macro auto-sorts the names and exports them into an alpha sorted list. From that, a human has to read the list to find what you are looking for.
Tile names have multiple basic foundation naming conventions. If you use the omnibus - one of the stickied topics in this forum, you can find the various dialogs on the naming conventions. They all end up being a convenience and nothing really more, and MANY custom authors over the years have refused to follow what Bioware started out with, thus the naming convention(s) likely will not follow through on any specific custom content author.
Basically, they go as follows:
txxxx_xyy_zz where xxxx is the tileset's base name, this for Bioware always follows "t" for tile, with a 4 letter combo that has a relation to interior or exterior and may be adjusted to match a particular set, ie tc (tile city) some number as in tcn01 (meaning first city, interior set that Bioware created, that 5 letter combo is then followed with an underscore as in "tcn where "n" is interior, or "e" for exterior, so tcn01 is the first city interior set created. Another example would be tde01 which is Bioware's first desert exterior "d" for desert, "e" for exterior.
So, you have the first 5 letter/number categories basically covered but even with those 'tips' things can still be different according to who created the set, etc.
Next up, you have a 3 character bit for the actual tile name, IE tcn01_"a01" is the first tile in the "a" series, which can mean any number of things, but typically the letter groups up to "i" are basically covered in all sets, a-f are typically various 'terrains', each letter meaning a different terrain. So, each tileset typically has multiple terrains like, grass, sand, dirt, mud, stone, etc, each of those terrains will contain any number of tiles depending on how much time was spent to add variation etc.
Finally you have the final 2 character grouping as in 01, - 99 which are the variations of that specific tile. So, if you have a tile that is say a corner in a room, and that corner has 3 different variations (ie one corner might have a column, or a bookshelf, or some other difference, it will be a different number.
I can't open toolset to explain with exact examples but a tilename of tcn01_a01_01, tcn01_a01_02, tcn01_a01_03 would mean that you have 3 different variants of a given tile that will fit into that exact location. I can't remember EVER seeing a given tile having 99 different variants, but I would assume that someone somewhere named something that way simply because they were not following the given convention by Bioware.
Now, you will notice that each tileset also has various crossers, roads, streams, corridors, whatever, these typically fall into the letter groups g-k or so... so a corridor might take tcn01_h01_01 through tcn01_h99_99 (never seen, but is possible!)
The letter groups from 'm' onwards, are typically used for various groups. IE a 2x2 house, or a single feature like a 1x1 house, might use the letter group M for example. Here there is less and less convention in place, and it is much harder to say that a given letter group follows a specific format. The other issue with groups is how their various members are named. IE a 2x2 house could be named tde01_m01_01, tde01_m01_02, tde01_m01_03, tde01_m01_04 OR it might be named as tde01_m01_01, tde01_n01_01, tde01_m01_02, tde01_n01_02 again for that single group. Notice two different letter combinations. So, you may have groups for your various terrains that include letter groupings from the letter l or m through y.
The final letter group, 'Z' is reserved by 98% of authors, for edge tiles. This is problematic as well. You don't need edge tiles for every single tile in a given set, but you will need multiple edge tiles to match up with various possible combinations. Edge tiles are handled in the edge.2da for a given tileset, and are NOT included in the .SET file. Various rules apply to edge tiles and is a different topic for conversation entirely.
Now, when folks state that a given set contains "xxx" number of tiles, some folks include the edge tiles, others only include the total number of tiles listed in the .SET file. Since there are so many ways to name tiles, and some individuals insist on creating their OWN rules instead of following convention, you end up with any various name you can think of that fits into the 12 character limit for a given tile name, and yes, 12 characters is the max for safe usage in toolset and game, but you will again find folks that insist on doing things their own way. And NO, I will not mention names, as I don't wish to get into flame wars etc.
Anyway, if you look at tcn01.set file, you find that it contains the definitions of 408 total tiles, starting with tcn01_a02_01 and the last tile listed is amp01_i08_01... this is odd, as it shows that the actual tilename does NOT always follow the name of the set, in this case, in patch 1.67 - 1.69, Thrikreen added some extra tiles to various tilesets, in this case an ampitheater (thus the amp01 bit) which contains a total of 72 tiles for a SINGLE group.
Inside 99% of the tilesets out there, they do NOT follow a given, straight up, alpha sorting of the tiles in the .set either, any given tile, say b03_01 might immediately be followed by c01_01, which is then followed by b04_01, and then maybe an a23_01 etc.. >set files do not require an alpha sorting, that is only needed by humans... and if you FORCE a change of the .SET file to make it alpha sorted, it will break anything created with that set, prior to the change. So, unless the given tileset has never been released before, you can't change the order of the tiles in the .set file. Back when CTP was releasing NEW tilesets, even when they were based off of original Bioware tiles, we renamed the entire set right at the start so we would NOT affect original areas or tilesets released by other folks, anyway, we tended to alpha sort things to help me, the qa guy, to "find" and therefore "fix" various tiles in a given set we were working on. However, over time, we also ended up no longer alpha sorting towards the end of the development cycle as it is just tooo difficult to keep recreating testing areas to verify that all tiles are there physically and that each one actually works. Anyway, that is a side subject as well.
I am still searching through thousands of various files attempting to find the various macros that OMB created for me back in the day, but I do recall that to make those macros useful in the NWN world, also required some extra files that may no longer be found on the vault since it's various collapses in the past and/or removals of files by original authors in the past etc... regardless, the actual sorting util feature should still be useful on the .SET file itself to help you along. I will be back as soon as I find the file(s) and provide a dropfile link to them. Stay tuned.
Edit: Ok, no luck. As I have mentioned in the past, I lost my main backups of the CTP working stuff, more than 2 years ago. I MAY have a copy of the scripts that OMB created on one of the thousand or so CD's that I have, but since I was not very organized on those cd's, meaning NON of them have labels, I am not likely to spend several hours, loading a stack of cd's just to figure out it is not one of the ones that may have the scripts on it. Sorry.
Someone here, should be more than capable of creating a script in whatever language they choose to use, that can read through the .SET file, scan for [tilexxx] and grab the following line for the tile name, then sort the results and provide a single listing of every tile in a given .SET file for you. The rest would be up to you to manually look through and determine which tiles are still available, and you have to decide if you wish to follow the standard naming convention, OR just create your own name for your own tiles, and add them in as needed.
The individual definition of each tile, gives it's positional information as in what tiles can or should be located around it, not by tilename, but by tile type, as in terrain type data etc. You find the tilename, followed by walkmesh type (this is typically not even used and can almost always be ignored as in walkmesh=msb01 is found in a huge number of tiles, and I believe was a left over for when bioware intended to do things differently than they finally did, IE, not really used, but that definition line still has to be included) anyway, msb01 folowed by the topleft, height of topleft, topright, height of topright, bottom left, bottom right. Those 4 main lines with their various height definitions, define the tile types that surround the given tile you are working on. Below those 8 lines of text, you get 4 lines for any crosser information that may or may not be needed, then light definitions, should be there, but are not always filled in, any animation loops, always defined, but not always used, the number of doors, any specific sound files needed, the path node, and it's orientation, the sight node and it's orientation, there is another node type but I can't remember, then the final, minimap name for that given tile.
You macro only needs to find the [Tilexxx] line, and grab the following line to get the name, fairly simple even if it is beyond my current skill level.