CG&L is an ability; it’s what spawns the Tiny town halls. You give that ability to the shop, and it can be cast only when a player has the correct resources. Detect that cast and spawn the special unit for the caster.
Complications arise if a neutral shop is the one that should be selling these units, because then knowing which player cast the spell is harder.
Look at the abilities action category and you will see things like “set ability integer level field” and the like. Those can be changed dynamically for any ability, but it does require you to work with the field names as shown in the Object Editor, and some fields are simply unsupported.
Gold/lumber cost would be integer fields that might or might not be level-dependent. I don’t know how CG&L scales with level off the top of my head. Look for the cost field, find its 4-character identifier (like ‘Emcs’), and see if you can also find that field in the integer (or integer level) fields a trigger will let you change.