0. Database with all reserved names....The implementation of it is not so simple...
...i would buy all most-know nicknames and then sold them for inhuman cruel barbarous prices...
The idea itself, however, is terrible, for example, because of:
0. Database with all reserved names.
1. Link between account and specific name. (Probably already exists, since you have a shop where purchases are tied to accounts.)
2. An additional check during name creation to test if the name is in the DB from step 0.
3. Another check to test if logged account is the one who reserved the name.