Meph,
Currently TWBT is limited by tiletypes present in DF. I'm not even sure what there is what is not, there are definitely different types for some floor/wall materials but you'd better look yourself. The same for other stuff - mostly for performance reasons. For example building overrides require to specify tile number, building ID and building type because I naturally have tile number, look up overrides for it, then check all matching buildings from world.buildings.other[id] (that's why I need ID so that I don't check ALL buildings), compare their types and then find the one located on the current tile. Of course I can also check materials, neighbour tiles and whatnot, but that would require accessing more data structures, which can be slow, especially for complex tilesets that require updating all tiles each frame ("twbt redraw_all" option).
However, if you missed it, some time ago I started to work on a new version in which I was going to implement building/item rendering "the native way" (by interposing their rendering vmethods). This is faster and should allow to implement any custom building-specific logic (e.g. different tiles for locked/unlocked doors), and also a support for animated building/item images was planned. However I suspended the development because while being a great idea, it was a difficult for me to implement - one of the problems is that if I replace the default building rendering vmethod, I need to replicate all the existing rendering logic (like different tiles for door materials, animated machines, building construction stages, etc.), and tileset authors will need to provide tiles for all the situations. I'm neither sure I'm aware of all the logic that needs to be re-implemented, nor able to get all the required tiles myself.
If you're willing/able to help with these two problems, I can continue to work on that version again.
(I think the "text-only" things you mentioned are hardcoded, so there's not much I can do.)