XF 1.2 Custom User Fields Question

I'm working on a language forum. When a member fills out his personal information, I want him to say what languages he speaks and how well he speaks them. I envision him selecting a language from a drop down, then selecting his proficiency level (which can be A1, A2, B1, B2, C1 or C2) in each skill (reading, writing, listening and speaking). I would like this info to show in his profile page.

I would like the language name to appear on his message user info, color coded. Languages who's highest proficiency level is C1 or C2 will be green. B1 or B2 will be blue, and A1 or A2 will be brown. Green language names will appear first, blue second, and then brown."

Can all of this be done with custom user fields? For example, I want a member to first select a language, then a skill, and then a proficiency level. I don't see how I can make that work; I can only figure out how to make 24 custom user fields for each language.

And then after the member selects the proficiency levels, how can I tell the forum "put the language name in the member's message user info and make it green if he selected c1 or c2"? It's the logic statement (if) that I can't figure out.