Hello,
Unfortunately, you do not have flexibility with the attribute that gets displayed when a record in CRM is associated with another record. The attribute that will always get displayed is the Primary Attribute of that entity. In the case of both Contacts and Users, the Primary Attribute is the Full Name and that's why the Full Name appears in the From field of email messages. You can specify which field would be the primary attribute for only for custom entities and only upon creation. Since both System User and Contact are system entities, the Primary Attribute field is already defined and you cannot change it. What is more, CRM has logic in the platform to populate Full Name based on a Name Format specified in System Settings, so you don't have a lot of options there either.
You could possibly implement a business rule in JavaScript when the email form load to get the ID of the Contact specified in the From Lookup, retrieve their nickname, and display it somewhere on the form, but this is a fairly complex enhancement.
Regards,
Ivan Kurtev