é só colocar um quere no update ...
create table #Teste
(
codigo integer,
opcao varchar(1),
cnpj_cpf varchar(14),
cnpj varchar(14),
cpf varchar(11)
)
set nocount on
insert into #Teste (codigo, opcao, cnpj_cpf, cnpj, cpf ) values (1, 'C', '1111111111', '', '')
insert into #Teste (codigo, opcao, cnpj_cpf, cnpj, cpf ) values (2, 'C', '2222222222', '', '')
insert into #Teste (codigo, opcao, cnpj_cpf, cnpj, cpf ) values (3, 'F', '3333333333', '', '')
insert into #Teste (codigo, opcao, cnpj_cpf, cnpj, cpf ) values (4, 'C', '4444444444', '', '')
update #Teste set cnpj = cnpj_cpf where opcao = 'C'
update #Teste set cpf = cnpj_cpf where opcao = 'F'
select * from #Teste
drop table #Teste