I could be wrong, but I don't think there's a way to grant that permission without giving them capabilities you don't want them to have (like making themselves sudo users).
One solution might be a front-end form that requires a login and lets them set that value.
Another (probably better) way to go would be to create a TV called "Author" with radio options or a drop-down list of possible authors, then use a plugin connected to OnDocFormSave to set the createdby field. It's easy to control access to a TV and the Author TV Input Options Value could be:
Bob==12||Sally==21||Jim==13
where the numbers are the user IDs of the possible authors. The user will see the names, but the numbers will be the "real" value of their selection. Then in the plugin. something like this (untested):
<?
/* Set created by based on Author TV */
$value = $resource->getTVValue('Author');
if (! empty($value)) {
if ($value != $resource->get('createdby') {
$resource->set('createdby', $value);
$resource->save();
}
}