Currently the cm:versionLabel property is a "protected" property, meaning that it cannot be set programmatically by extension code. However there are cases (during content migration, for example) where there can be a requirement to capture the precise version labels from elsewhere (e.g. the source system).
Note also that these version labels may not conform to Alfresco's [major.minor] version labeling convention. As a first pass at this functionality it may be acceptable to require that this convention be followed (while still allowing each version label to be set to any [major.minor] value), but a comprehensive fix for this issue should add support for arbitrary version label values.