Sounds like you are on your way to becoming a true modder. My only advice is to make sure you add your reactions and custom buildings into the entities as [PERMITTED_BUILDING:XXX] and [PERMITTED_REACTION:XXX]. (This is probably one of the most common mistakes for people just starting with modding)
I'll keep that in mind, but I still don't know how to make custom workshops nor reactions. I'm not ready to learn that yet however, and won't be until I can make those objects I have planned and make sure they all work. I'm nowhere near being a true modder. If anything I've barely modded anything before, and that's because I always tried to do things a little too fast or grand. I've got all these ideas that I want to work on, ranging from crafting via custom workshops, to my ideas for both monster girl and furry projects that would allow for my dwarves to employ creatures like harpies, slimewomen, centaurs, fairies and catgirls as both lines of defense and commodities to trade.
I'm nowhere near being able to make those projects I want to work on, so I'm starting simple by making items for my dwarves to craft that would allow them to have a greater variety of things to eat, wear, wield, and trade. Personally, all I know how to make with that so far would be food and clothing/armor. I am still not entirely certain how to add new crafts, melee and projectile weapons, ammunition, furniture and trap components, which I would also like to add. I will be working on that as well as the creation of more items for my dwarves to craft before I work on the other things I would like to mod in.
I hope I can rely on the Bay12 community for support as I work on this, and hopefully I don't lose sight of my goal to take my time and learn how to modify and create content for Dwarf Fortress.
-EDIT- Alright, I have a question. One of the things I wanted to implement was a proper chainmail bikini that could be worn as is or as extra protection, albeit minor. I want it to be something that would be worn directly against the skin so that nothing can go under it. Would I do this by adding [LAYER_PERMIT:0], or is there some other way I can do it?