なります is an intransitive verb, but it could either be volitional or non-volitional, right? Please see the below examples; are they correct?
日本語が上手になるように、毎日勉強しています。(なります is non-volitional)
弁護士になるために、法律を勉強しています。(なります is volitional)
By "volitional", I think I understand you to mean what are also called "will verbs" or "controllable verbs" in English, 意志動詞 in Japanese; and by "non-volitional", "non-will verbs" or "uncontrollable verbs", 無意志動詞 in Japanese?
The term "volitional" here is possibly a bit confusing just given it is the name of a verb form, too, so I will just use "controllable" and "uncontrollable" instead.
If that is what you were referring to, you are right in thinking that なる is both a "controllable" verb 意志動詞 and "uncontrollable" verb 無意志動詞, depending on the circumstance. For instance:
A relative became a doctor. (controllable, e.g. through going to medical school)
It (the time) became noon. (uncontrollable)
Looking at your examples, first you have:
This is grammatically OK, but I personally would favour saying (the very similar; just sounds more natural to me):
In any case, you can't strictly "control" being good at a language, so this is indeed an example of an "uncontrollable" form of なる.
Looking at your second example:
This is a good example of a "controllable" form of なる, as - just as with the doctor example I gave - this person essentially chose to be a lawyer (by going to law school/choosing to studying law).
The other thing to bear in mind is that for instances where なる is a "controllable" verb is that you can use either なれるように or なるために:
?? 偉い人になるように勉強しています。(sounds odd/unnatural, but I think understandable)
On the other hand, for those "uncontrollable" instances of なる, you should only use なるように :
Hope that helps!