Using conditional aggregation:
select 
    id_number
  , bk_no
  , Res1 = max(case when rn = 1 then Res end)
  , Res2 = max(case when rn = 2 then Res end)
from (
  select *
    , rn = row_number() over (partition by id_number, bk_no order by res)
  from t
) sub
group by id_number, bk_no
rextester demo: http://rextester.com/DFCC86645
returns: 
+-----------+-------+---------+---------+
| id_number | bk_no |  Res1   |  Res2   |
+-----------+-------+---------+---------+
| LUC00003  | BK001 | CLARETH | MARC    |
| LUC00009  | BK001 | CLARETH | MICHAEL |
+-----------+-------+---------+---------+
dynamic pivot() version:
declare @cols nvarchar(max);
declare @sql  nvarchar(max);
  select @cols = stuff((
    select distinct 
      ',' + quotename('Res'
          +convert(varchar(10),row_number() over (
              partition by id_number, bk_no 
              order by     res 
          ))
          )
      from t 
      for xml path (''), type).value('.','nvarchar(max)')
    ,1,1,'');
select @sql = '
 select id_number, bk_no, ' + @cols + '
  from  (
    select 
        id_number
      , bk_no
      , Res
      , rn=''Res'' + convert(varchar(10),row_number() over (
              partition by id_number, bk_no 
              order by     res 
          ))
      from t
      ) as a
 pivot (max([Res]) for [rn] in (' + @cols + ') ) p';
 select @sql as CodeGenerated;
 exec sp_executesql @sql;
returns:
+-----------------------------------------------------------------+
|                          CodeGenerated                          |
+-----------------------------------------------------------------+
|      select id_number, bk_no, [Res1],[Res2]                     |
|       from  (                                                   |
|         select                                                  |
|             id_number                                           |
|           , bk_no                                               |
|           , Res                                                 |
|           , rn='Res' + convert(varchar(10),row_number() over ( |
|                   partition by id_number, bk_no                 |
|                   order by     res                              |
|               ))                                                |
|           from t                                                |
|           ) as a                                                |
|      pivot (max([Res]) for [rn] in ([Res1],[Res2]) ) p          |
+-----------------------------------------------------------------+
+-----------+-------+---------+---------+
| id_number | bk_no |  Res1   |  Res2   |
+-----------+-------+---------+---------+
| LUC00003  | BK001 | CLARETH | MARC    |
| LUC00009  | BK001 | CLARETH | MICHAEL |
+-----------+-------+---------+---------+