No. If you need this level of complexity, you'll want to write a trigger, instead. The reason why is that you need to be able to "see" the old and new values at the same time, and email alerts can't see the old values. This would actually be pretty simple as a trigger.
Open the Developer Console, change the default Log Levels (Debug > Change Log Levels... > Add/Change > Workflow=FINEST), then perform an operation (insert/update/whatever).
You'll see a new log, that will contain lines like this:
15:36:02.2 (398983642)|WF_CRITERIA_BEGIN|[Client: demo 0011T00002Pndvj]|...
The [ObjectName] syntax applies for Process builder formulas and according to the tags on your question, you are trying to build a workflow rule.
Assuming that the workflow rule is being executed from ServiceAppointment object, then you can reference the merged fields directly in the formula like this: