Have you tried the
image widget? You might be making this a lot more complicated than necessary...from the letter of what you wrote all you need to do is write this in tiddler B:
<$image source={{A!!structure_file}}>
In other words, you're transcluding the value of the structure_file field of A as the value of the source image widget.
Now if you need the tiddler A to be dynamic, rather than hard-coding it in the wiki text, you'll have to get a bit more complicated. You might be tempted to try this:
\define makeTransclusion() {{$(myTiddler)$!!structure_file}}
<$set name="myTiddler" value="A"> <!-- or however A gets determined -->
<$image source=<<makeTransclusion>>>
</$set>
But if you try that, you'll see the image link is broken. If you use your browser's developer tools to inspect the image, you'll see it links literally to "{{A!!structure_file}}".
Instead, when you add in the macro, you have to use
$wikify, because the macro is returning raw wikitext, and TiddlyWiki does not automatically parse wikitext when passing it directly to HTML/widget attributes -- only when displaying it in the tiddler.
\define makeTransclusion() {{$(myTiddler)$!!structure_file}}
<$set name="myTiddler" value="A"> <!-- or however A gets determined -->
<$wikify name="reference" text=<<makeTransclusion>>>
<$image source=<<reference>>>
</$wikify>
</$set>