Very easy to do without hacking.
Go to Admin CP.
Make a new custom user profile field. Call it "Display Username".
Make it editable by member, but not show up in user profile.
Put your mouse over the link to edit it and look at the number at the end of the URL - that is the custom user profile id - remember it (it is NOT the same as the order number).
Go to your postbit template.
Add $post[fieldx] underneath $post[username] (x being the custom profile id number).
Go to your getinfo template.
Add $userinfo[fieldx] underneath $userinfo[username] (x being the custom profile id number).
Your members can now edit "Display Username" in their profile which will show up in their posts and profile.