I'm not 100% sure what you're looking for, but this code will first check for conditions 1 & 2 and then condition 3.
Then it selects the top 1 based on priority.
declare @actiontable TABLE (jobno int,
actionstatus int,
cycle int)
insert into @actiontable
values(5, 33, 14)
insert into @actiontable
values(5, 45, 20)
insert into @actiontable
values(5, 55, 17)
insert into @actiontable
values(5, 56, 25)
select top 1 *
from
((select 1 as priority, jobno, actionstatus, cycle
from @actiontable
where jobno = 5
and cycle = (select MAX(cycle)
from @actiontable
where jobno = 5)
and actionstatus = 33)
union all
(select top 1 2, jobno, actionstatus, cycle
from @actiontable
where jobno = 5
and actionstatus in (55, 56))) as x
order by priority