Re: Append to Array only if condition is met
The easiest way is to use the Filter Query within your Get items so it only brings back items where the Building is equal to District.
For this example, I have the following list. Note that I've just renamed the Title field to Email which looks the same as what you have done.

Below is the full flow. I'll go into each of the actions.

Get items retrieves the items where the Building is equal to District. This will work even for a multi-select Choice field.
Building eq 'District'

Select retrieves just the Emails (Title field) into a simple array.

Join uses the output from the Select and joins the emails with a semi-colon ;

If we ran the flow now we would get the following output.

You can then use the output from the Join in your Send an email notification action.