Is there a way to update the contact.addressee field in batches?
There are several solutions.  I'll go from least to most work - though the "least work" solutions generally need a level of expertise that the "most work" solutions don't.


You can edit your max_execution_time in php.ini.
The default execution time when running from the command line is unlimited.  So you could run cv api Job.update_greeting or the equivalent using drush or wp-cli if you don't have cv installed.
Greetings are updated whenever a record is updated.  An easy way to batch update records is to import a list of all the contact IDs you want to update with no other info.  This will force an update and thus a greeting update.
You can delete all your addressee values that need updating (or all of them!) through MySQL/phpMyAdmin, then use "Update Greetings" with a limit of 2500 and set force equal to 0.  With force equal to zero, only contacts without addressees will be updated, so you won't do the same 2500 every time.