Yes, possible but it would take some considerable work and not very efficient.
A better way would be to create building blocks in your contract template, then create a userform that list all of the BB's in multi-select listbox then use a command button to insert the BBs you selected.