я тоже долго маялся но потом сделал
1. созать поле в базе
2. обьявить одноименную функцию
3. вместо добавления поля в массив я сделал принудительное обьявление поля перед конструктом!
Код:
public function __construct($id = null)
    {
// добавляем так    
self::$definition['fields']['phone_mobile'] = array('type' => self::TYPE_STRING, 'validate' => 'isPhoneNumber', 'size' => 32, 'required' => true);
        $this->id_default_group = (int)Configuration::get('PS_CUSTOMER_GROUP');
// синтаксис похож на тот кторый в массиве  но есть self::$definition['fields'] и вместо стрелки соответственно знак =
        parent::__construct($id);
    }

все добавляется
делал прямо в классе в оверрайде не получается почемуто
http://www.vj-ded.ru/webdesign/address-v-prestashop-1-5/