Bueno, precisamente a eso es que me refiero con "fabricar columnas".
De todos modos, yo que tu intentaría usarla así:   
Código MySQL:
Ver original-     Suc.id_suc, 
-     Suc.sucursal, 
-     SUM(- C. `status` = 'PENDIENTE')-  Pendiente ,
 
-     SUM(- C. `status` = 'IMPRESO')-  Impreso ,
 
-     SUM(- C. `status` = 'ENTREGADO')-  Entregado 
 
-     LEFT JOIN-  tblsucursal Suc  ON-  Suc.id_suc  =-  C.id_suc 
 
Pruébala de esa forma y dime qué tal te resulta. 
De todos modos, creo que no es el caso de lo que necesita 
@jonni09lo, ya que en el caso de él, 
ya tiene las tres columnas en la tabla, pero lo que quiere es que de todos los datos s
ólo se vean aquellos que sean iguales a un valor dado, y el resto, aunque tenga datos, se muestren vacíos.
O sea, esto:   
Código MySQL:
Ver original- Nombre    CC    nivel1    nivel2    nivel3 
- Prueba3    56780    45679    12345    658488 
- Prueba2    45679    12345    658488 
- Prueba    12345    658488 
En ese contexto, el problema es en realidad cómo determina él ese número, de dónde lo saca.
Porque en realidad, la consulta en si es sencila:   
Código MySQL:
Ver original-     Nombre,   
-     CC,   
-     IF(- nivel1  = 12345,-  nivel1 , '')-  nivel1 ,
 
-     IF(- nivel2  = 12345,-  nivel3 , '')-  nivel2 ,
 
-     IF(- nivel3  = 12345,-  nivel3 , '')-  nivel3 
 
pero la duda es esa: ¿de dónde sale ese numero para comparar?