Вы можете немного сократить код, сделав несколько обращений к модели.
в контроллере:
$initials = array('a','b','c','d','e','f');
foreach ($initials as $initial)
{
$result = $this->model->getBuilders($initial);
// here you do something with the data that's returned in $result
}
в модели:
public function getBuilders($initial)
{
$query = $this->db->select('builder_name')->from('builders_list')->where('builder_name like', $initial.'%')->limit('5')->get();
return $query->result();
}
Таким образом, для каждого инициала вы попадете в модель, которая вернет 5 результатов для этого инициала.Делайте с ними все, что вам нужно, и затем foreach будет переходить к следующему инициалу и продолжать работу до тех пор, пока не будет запрошен последний инициал.