I don't think the IRCd sets what characters can be used, and I haven't sifted through RFC 1459 to see if it's detailed there. I know letterz A-Z, 1-9 and the following can be used though (this is purely from memory, quite possibly missed some): _ - ^ |
Characters such as @ + ! * & and % can be used for 'status' in nicknames. I would assume @/+ are 'reserved' for op/voice use, as they were the original status symbols.
Perhaps someone has a more technical answer though

Regards,