Ok. I see why it won't work anyway without looking at the other files.
Your model file is returning:
PHP:
return $TwistedPromotion_TopUser;
Working backwards, $TwistedPromotion_TopUser is this:
PHP:
$TwistedPromotion_TopUser[] = array("user" => $userObjs[$TT['user_id']], "username" => $TT['username'], "totalPosts" => $TT['totalPosts'], "homepage" => $TT['homepage']);
So there's no way your $userFieldValues variable is going to be returned.
You should add the $userFieldValues to that TopUser array, like so:
PHP:
$TwistedPromotion_TopUser[] = array("user" => $userObjs[$TT['user_id']], "username" => $TT['username'], "totalPosts" => $TT['totalPosts'], "homepage" => $TT['homepage'], "userFieldValues" => $userFieldValues);
In your controller you're then passing the returned data as a param: {$TwistedPromotion_TopUser}
With that in mind, the banner user field value will be {$TwistedPromotion_TopUser.userFieldValues.banner}