видимость или не видимость кастомных полей в профиле определяется в файле profile.php
там есть такой рендер шаблона
'profile' => $profile, 'user' => $this->cms_user, 'is_own_profile' => $this->is_own_profile, 'is_friends_on' => $this->options['is_friends_on'], 'tool_buttons' => $this->getToolButtons($profile), 'friends' => $friends, 'content_counts' => $content_counts, 'fields' => $fields, 'tabs' => $tabs ));
а в переменной $profile данные профиля..
перед этим кодом есть хук profile_before_view
вот на него и надо цеплять проверку отображения кастомного поля с отдельной табличкой..
у меня же данные складываются не в столбец кастомного поля в таблице users
а в отдельную табличку… у меня там связь многое ко многим...
чувствую еще и с поиском заморока будет))