Can I batch update participant role for an event for all contacts registered for an event who have a certain tag?
This is doable with Advanced Search.  You can enter your criteria (the tag) and change the Display Results As field to read "Event Participants", and then click Search.  The results will be the folks tagged Meeting Speaker, but your Actions on the result screen will be geared toward Event type actions.

More info on the Display Results As option can be found on this CiviCRM blog post.