First, get rid of all those \*charformat switches - you don't need them.
Second, make sure there's a space before and after "No".
You should how have:
{IF{MERGEFIELD "Use_Billing_Address"}= "No" "{MERGEFIELD Site_Name"}¶
{MERGEFIELD Site_Add_1}¶
{MERGEFIELD Site_Add_2}¶
{MERGEFIELD Site_Add_3}¶
{MERGEFIELD Site_Add_4}¶
{MERGEFIELD Site_Add_Post_Code}" "{MERGEFIELD Billing_Address_Contract_Name}¶
{MERGEFIELD Billing_Address_Line_1}¶
{MERGEFIELD Billing_Address_Line_2}¶
{MERGEFIELD Billing_Address_Line_3}¶
{MERGEFIELD Billing_Address_Line_4}¶
{MERGEFIELD Billing_Address_Postcode}"}
where the ¶ is a paragraph break or line break.
For the empty line suppression, see the corresponding topic in the
Mailmerge Tips and Tricks 'Sticky' thread at the top of this forum:
https://www.msofficeforums.com/mail-...ps-tricks.html