Some symbols are allowed (for example # _ $) but I don't think % is allowed. Bear in mind that the users may have problems typing some characters, depending on their keyboard layout/configuration.
I just tried creating an account with the % sign included and it's not allowed, at least not in i5/OS V5R3.
You can create an AS/400 user profile with the @ sign. Ex: mary@456
If you prompt the CRTUSRRPF command and then further prompt the User profile parameter with F4 you will see that the User Profile Type is Simple Name. If you look in the Information Center <a href="http://publib.boulder.ibm.com/infocenter/iseries/v5r4/topic/rbam6/prtyp.htm">here</a> you will find that a Simple Name is defined as:
Simple name (*SNAME). The parameter value is a character string that follows the same naming rules as *NAME, except that no periods (.) are allowed.
with *NAME defined as:
Name (*NAME). The parameter value is a character string that represents a basic name. The maximum length of the name is 256 characters. The first character is alphabetic (A-Z), $, #, or @. The remaining characters are the same as the first character, but can also include the numbers 0 through 9, underscores (_), and periods (.). The name can also be a string of characters that begin and end with double quotation marks ("). The system passes the value to the command processing program as a character string of the length specified in the LEN parameter. The value is left-aligned and padded with blanks. Normally, you use the *NAME type for object names. If you can enter a special value such as *LIBL or *NONE for the name parameter, you must describe the special value on the SPCVAL parameter. Then, if the display station user enters one of the allowed special values for the parameter, the system bypasses the rules for name verification.
So you can use the special characters $, #, @, and _ within a *USRPRF name.
I would encourage you though to NOT use $, #, or @. If you need a delimiter use the _. The reason I say this is that the $, #, and @ characters are variant. What this means to you is that if, say two years down the road and when everyone in your company is accustomed to using #, your company decides it's time to expand into geographies outside of the United States (or simply Spanish speaking areas within the United States) you will find that different users may have to type in different characters. The # for instance for a Spanish user, in order to sign on, may need to be entered as a Ń. If you go into the UK you may find that the $ needs to be a £; in Germany the @ may need to be the § (not to mention using the @ may cause interesting email problems down the road :) ); and the list goes on. Avoid possible headaches in the future by using the _ is you really need a delimiter.
<a href="http://www.brucevining.com/">Bruce Vining Services</a>