This is, I think, one of the most heartbreaking scenes in entire game when it's Zack here instead of Cloud.
This is Sephiroth stopping because his friend called out to him, seeing Zack is upset, and trying to offer him a smile that's not quite the smile he's been giving Zack until now, but he's trying. Because there's still a part in him that registers that this is a friend who is in distress, a part of him that wants to comfort and reassure.
Sephiroth has just slaughtered an entire town, killed everyone who has tried to come in his way, even people who were just there. But he hasn't done anything to Zack besides walking right past him and, when Zack tried to physically stop him from doing so, throwing him into a wall (and we even get a visual of Jenova's influence on Sephiroth at that moment as seen here (yes I'm plugging my own gifs because that's easiest, sue me)). He was just casually strolling by Zack right before this moment too, but when Zack called his name he stopped and turned.
And then he saw Zack and the state he's in.
You can actually see that shift in Sephiroth, when he registers that this is his friend in front of him.
So he gives Zack one last smile because it's all he can do anymore before walking away.