The ticket agent completely screwed up this situation and I would blame him/her for all of it. They should have NEVER seated either of them in an exit row. If only exits were left, they should have been sent to the gate so the gate agent could seat them. Problem would have been avoided.
This being said, if it happened the way it's written, the gate agent acted completely out of line bordering on harrassing. Emotional service animals are not something I'd like to get into but to personally attack a customer is unacceptable.
The getting of the last name was always a pet peeve of mine. We were not required to give that out and for you to be proactive in trying to get it then printing it here is a bit too much, imo. Admin allows names here so I can't say much but I disagree with giving out last names whole-heartedly.
PHX......it appears you like to live on the edge......end of the year and maybe you don't have enough points yet, eh??