The variables in the view in this example are not available because they are not explicitly set in the controller. Do they have to be set explicitly or is passing the data object also possible? If so, how do I access this objects data in the right way? FuelPHP is lacking good examples here and I am stuck now.
A View is a separate entity, so nothing from your controller (or anywhere else for that matter) is available in your views unless you pass it.
You pass $data to your view, and expect to have $title available as a variable in your view. This means $data must be an array, and $data['title'] must be set. Is this the case?
From what I can see, $data is the result of the DB query, so it's not an array, it's a DB result object, containing zero or more rows.
So to make your current views work, you need to extract row 1 from the result object, make sure it's an array (like array('title' => 'ttt', 'text' => 'xxx')) and pass that to the views.