You could use an external parsed general entity to declare an entity reference for snippet B and then use it n number of times inside of snippet A.
When snippet A is parsed, the entity references will be expanded and the content from snippet B will be included at each spot where the entity was used.
For example, assume that you had a file called snipppetB.xml:
<snippetB>
<foo>Content goes here</foo>
</snippetB>
And a file for snippet A declared an entity called snippetB
referencing snippetB.xml and used it four times:
<!DOCTYPE snippetA [
<!ENTITY snippetB SYSTEM "./snippetB.xml">
]>
<snippetA>
<a>&snippetB;</a>
<b>&snippetB;</b>
<c>&snippetB;</c>
<d>&snippetB;</d>
</snippetA>
When snippetA.xml is parsed, the XML content would look like this:
<snippetA>
<a>
<snippetB>
<foo>Content goes here</foo>
</snippetB>
</a>
<b>
<snippetB>
<foo>Content goes here</foo>
</snippetB>
</b>
<c>
<snippetB>
<foo>Content goes here</foo>
</snippetB>
</c>
<d>
<snippetB>
<foo>Content goes here</foo>
</snippetB>
</d>
</snippetA>