Is it possible to create an approval workflow that captures the event of a user changing their first name or last name properties in their user profile?
Sharepoint workflows that start automatically are tied to events that fire when listitems are created or changed. SharePoint doesn't fire any events when the user profile properties change so not only can standard workflows not work for this scenario, you can't even roll your solution with a custom event receiver.
I would solve it this way:
·Restrict a user's ability to update those fields in their profile ·Create a list where user's request changes for fields ·Put an approval workflows on the list ·Once approved update the user profile.
Yof will need a custom workflows activity to update the user profile - you can't do it out of box without custom code.