Columns as independent lists of items
I think this is what you are looking for:

test setup: http://rextester.com/SGKW56535

create table t (Item int, Kategoria char(2))
insert into t values
   (1111,'OD')
 , (2222,'AL')
 , (1234,'UT')
 , (1122,'OD')
 , (4321,'OD')
 , (5555,'AL')
 , (6666,'UT')
 , (65577,'AX');


query with row_number() partitioned by Kategoria:

select 
    rn=row_number() over (
        partition by Kategoria
        order by Item
        )
    , Item
    , Kategoria
  from t;


results:

+----+-------+-----------+
| rn | Item  | Kategoria |
+----+-------+-----------+
|  1 |  2222 | AL        |
|  2 |  5555 | AL        |
|  1 | 65577 | AX        |
|  1 |  1111 | OD        |
|  2 |  1122 | OD        |
|  3 |  4321 | OD        |
|  1 |  1234 | UT        |
|  2 |  6666 | UT        |
+----+-------+-----------+


hard coded pivot example: 

with cte as (
  select 
    rn=row_number() over (
        partition by Kategoria
        order by Item
        )
    , Item
    , Kategoria
  from t
  )
  select rn, OD, AL, UT
  from cte
    pivot (max(Item) for Kategoria in (OD, AL, UT) ) p;


results: 

+----+------+------+------+
| rn |  OD  |  AL  |  UT  |
+----+------+------+------+
|  1 | 1111 | 2222 | 1234 |
|  2 | 1122 | 5555 | 6666 |
|  3 | 4321 | NULL | NULL |
+----+------+------+------+


dynamic pivot example:

declare @cols nvarchar(max);
declare @sql  nvarchar(max);
  select @cols = stuff((
    select distinct 
      ',' + quotename(Kategoria)
      from t 
      for xml path (''), type).value('.','nvarchar(max)')
    ,1,1,'')
select  @sql = '
 select rn, ' + @cols + '
  from  (
    select 
        Kategoria
      , Item
      , rn=row_number() over (
          partition by Kategoria 
          order by     Item 
          ) 
      from t
      ) as a
 pivot (max([Item]) for [Kategoria] in (' + @cols + ') ) p'
 select @sql
 exec(@sql);


generated sql: 

 select rn, [AL],[AX],[OD],[UT]
  from  (
    select 
        Kategoria
      , Item
      , rn=row_number() over (
          partition by Kategoria 
          order by     Item 
          ) 
      from t
      ) as a
 pivot (max([Item]) for [Kategoria] in ([AL],[AX],[OD],[UT]) ) p


dynamic sql result:

+----+------+-------+------+------+
| rn |  AL  |  AX   |  OD  |  UT  |
+----+------+-------+------+------+
|  1 | 2222 | 65577 | 1111 | 1234 |
|  2 | 5555 | NULL  | 1122 | 6666 |
|  3 | NULL | NULL  | 4321 | NULL |
+----+------+-------+------+------+