The most common way to share related resources (classes, array...) is the Dependency Injection approach which really makes the class structure stable making dependencies as clear as possible. In this case I would suggest you to instantiate the user model once and pass it to every class that needs it via its constructor.
Considering your user model class to be UserModel
and considering the constructor of the classes that depends on that one to be:
public function __construct(UserModel $user, ...) { ... }
you can then use it as:
$user = User::model()->findByPk(Yii::app()->user->id);
$bgImage = $user->settings->backgroundImage;
$dependentclass1 = new DependentClass1($user, ...);
...
$dependentclass2 = new DependentClass2($user, ...);
...
$dependentclass3 = new DependentClass3($user, ...);
About the suggested other answer:
It is right to know that there has been quite a few wars around the use of the Singleton (anti-)pattern that you should be aware of. Most of them has been discussed here on SO aswell.
But you have to remember that: design patterns (like DI and Singleton) are just an option, not a requirement therefore you can fell free to use whatever have more sense to you, in your context.