Try this:
awk -v TA=ة -v HA=ه '
{ orig = $0 }
sub(HA"$", TA) { $0 in ta || ha[$0] = orig; next }
$0 ~ TA"$" { ta[$0] = 1; delete ha[$0] }
{ print }
END{ for(i in ha) print ha[i] }
' input_file | LC_ALL=C sort -u > output_file
I've tried to do something smarter, by creating a custom `LC_COLLATE`, but didn't manage it ;-)