As in HR-322 spec the hook need to provide options to Select type custom field so I introduced it in addQuickFormElement fn under 'Select' case, also not to make it dependent on option_group_id so I made such changes. Well 
case 'Select':
 -        $selectOption = &CRM_Core_BAO_CustomOption::valuesByID($field->id,
 -          $field->option_group_id
 -        );
 +        if ($field->option_group_id) {
 +          $selectOption = &CRM_Core_BAO_CustomOption::valuesByID($field->id,
 +            $field->option_group_id
 +          );
 +        }
 +        CRM_Utils_Hook::customFieldOptions($field->id, $selectOption, FALSE, $selectAttributes);

will be the only improvisation and it will work. Will it be ok or do I need to make this hook call everytime for all htmltype?