Since Address in Compound field, you can simply fetch each Address attributes from Account object from the SOQL query and update invoice records like this:

    trigger udtInvAddress on Account (After Update) {
    List<Order2__c> invoices;
    if(Trigger.isAfter && Trigger.isUpdate){			
    	 invoices = [SELECT Id, Account__r.BillingStreet, Account__r.BillingCity, 
    	 Billing_City__c, Billing_State__c, Billing_Street__c, 
    	 Billing_zip__c, Billing_Country__c FROM Order2__c 
    	 WHERE Account_Name__c =:Trigger.newMap.keySet()];
    	for(Order2__c invoice: invoices)
    	{
    		System.debug(invoice.ID);
    		//update all of the fields with the updated information only if the new information is filled in.
    		if(invoice.Account__r.BillingStreet <> null){
    			invoice.Billing_Street__c = invoice.Account__r.BillingStreet;
    		}
    		//update other fields
    
    	}
    	update invoices;
    }