Do not use different callbacks, use the the sixth parameter for add_settings_field()
instead. That is an array, and you can pass any data to the callback here.
Example:
foreach( $theOptions as $k => $v )
{
add_settings_field(
$k,
$v,
'my_callback',
$the_options,
$the_group,
array (
'special' => $k
)
);
}
function my_callback( $args )
{
var_dump( $args['special'] );
switch ( $args['special'] )
{
case 'foo':
// do something
break;
case 'bar':
// do something else
break;
default:
// default handler
}
}