This is a tricky situation. You are straying into some seriously ego-driven territory here, particularly with people who identify very strongly with their work. I have seen people get VERY twisted over being a Developer III when somebody else they consider inferior is a Developer IV.
Usually when a system with grades like this is put in place it is because there is a push for some kind of a standardization. It usually appears with a pay scale. Almost always it is a larger organization. In smaller organizations you usually wind up with a title prefix like "Senior" or "Chief" as a way to differentiate. In all cases what you are doing is making a hierarchy visible and using it as a way for people to measure themselves. If this is your goal, then go ahead and put in some kind of a system.
Be aware that you will immediately ruffle feathers when people find out they are not seen by management as the best on the team. Also be prepared for the demands of "When will I make the next grade?" This will come hand in hand with a demand for more compensation. If the compensation winds up tied to the title then people will be able to figure out what you are paying the new hire and this will spawn more issues.
If it's internal, maybe tie it to some kind of objective metric like number of releases authored, bugs resolved, etc. This would feed the need for recognition but not be something you'd have to put on a business card.
In my own experience I just called everyone "Software Developer" and made sure that I communicated with everyone all the time so that I could head off any feelings of ill will, etc. It also cut down somewhat on "that's not my job" comments. The only person who wound up as a "Senior Software Developer" had minor management duties. It was not perfect and had its own issues but overall worked for me. YMMV.