I wanted to do this same thing, and I found a solution that I believe does the trick for me. There may be a better way, but I edited themes/default/clients/account/tab_main.tpl, changing
<td><input type="text" name="username" value="{$client_info.username}" size="25" /></td>
to
<td><input type="text" name="username" readonly="readonly" value="{$client_info.username}" size="25" /></td>
Incidentally, I'm running version 2.2.6. Hope that helps.
<td><input type="text" name="username" value="{$client_info.username}" size="25" /></td>
to
<td><input type="text" name="username" readonly="readonly" value="{$client_info.username}" size="25" /></td>
Incidentally, I'm running version 2.2.6. Hope that helps.