Jeśli danych z tej kolumny nie ma w bazie, to jest pewien problem, bo sortowanie odbywa się juz na etapie zapytanie do bazy, które zwraca odpowiednio posortowane dane. Możesz spróbować wstrzyknąć te dane do zapytania przez SELECT CASE => http://athlan.pl/mysql-case-when-then-else-end/
Kolejny kłopot, to dane na podstawie, których ma być sortowanie są danymi uzyskiwanymi już po wyciągnięciu/przerobieniu z MySQL’a. Przydałby się jakiś callback na podstawie, którego moglibyśmy wykonać operację sortowania już pobranych danych.
Najprostszym rozwiązaniem chyba byłoby zrobienie sortowania po stronie JavaScript. Pytanie, czy istnieją może jakieś gotowce dla CGridView umożliwiające sortowanie po stronie klienta?.
Ale to ma tylko sens przy mniejszych ilościach danych - przy dużych zbiorach ja bym kombinował jak te dane wrzucić o bazy, tak aby móc po nich sortować w zapytaniu. Pluginy JS niewiele ci tutaj pomogą, bo wszystkie będą sortowały tylko jedną stronę wyników, więc są również bezużyteczne przy większych ilościach danych.