Datapack limitations and resources

So I have an outcome for a datapack but how to get there is somewhat difficult due to the limitations of data packs and it’s my knowledge of that is really what’s limiting me how to get from point A to point B. But it’s a fun puzzle none the less Example I didn’t know you couldn’t do conditional textures for mobs. So I have a few ideas not sure which to persue and I don’t know what if some are worth chasing. 1.) For instance if I have a mob say a baby zombie is there a way to set up a way to trade with it. My assumption is that on spawn I summon an invisible villager at its location. Could I do the same with say a floating player head block. What resource would I use/follow to figure this out. I assume I have to summon the villager and then change his trades once they are available 2.) structure crafting I’m not sure what this is called. But like iron golems are built with blocks then summoned can this also be done with another configuration to like checks a condition? Like if diamond block is on a furnace in the end then summon What resource would I use to go through this. I watched some videos but they are for older versions and I’m sure things have changed from v 1.16 so not sure if they are still the right process. Thanks
Continue to help post