how to adjust size of an existing field through api in hook_update?
If you want to get around the restrictions imposed by the FieldAPI, and you're positive the change won't cause any data loss, you could just do it manually:

$field_name = 'spelersfiche_va_antwoord';

// Get the current settings
$result = db_query('SELECT data FROM {field_config} WHERE field_name = :name', array(':name' =&gt; $field_name))-&gt;fetchField();

// Change the settings
$data = unserialize($result);
$data['settings']['max_length'] = '511';

// Write settings back to the database.
db_update('field_config')
  -&gt;fields(array('data' =&gt; serialize($data)))
  -&gt;condition('field_name', $field_name)
  -&gt;execute();

// Update the value column in both the _data and _revision tables for the field
$new_field = array('type' =&gt; 'varchar', 'length' =&gt; 511);
$col_name = $field_name . '_value';

db_change_field("field_data_$field_name", $col_name, $col_name, $new_field);
db_change_field("field_revision_$field_name", $col_name, $col_name, $new_field);

// Flush the caches
drupal_flush_all_caches();