Scusa qual è il problema? Dentro al layer "source" ce ne puoi mettere 100 di bottoni e di qualsiasi altra cosa tu voglia, con o senza PHP...
Il layer source è un normalissimo layer html che può contenere tutti gli oggetti che vuoi.
Codice PHP:
<div id="source" style="display: none;">
Contenuto del layer "source", pieno di codice da far visualizzare nel layer "target"...

etc etc etc...
<?php

for ($i 1$i <= 100$i++) {
    echo 
'<input type="button" id="input_$i" value="Button #$i">
\n'
;
}
?>
</div>
La proprietà innerHTML accede a tutto il contenuto del layer.