Olá Fátima.
Essa é uma maneira possível.
a<-c("B095","B096","B784","B561","N590","N980","N067","C678","C234","C009","B095",
"B561","N980","N980","C234","C009")
b<-c("Maria","Paola","José","Pedro","Kleber","Henrique","Marcelo","João","Lia",
"Ingrid","Renato","Paulo","Mariana","Mario","Luiza","Luiz")
banco<-data.frame(a,b)
letras <- as.character(gsub("[^A-Z]","\\1", banco$a))
numeros <- as.numeric(gsub("[A-Z]","\\1", banco$a))
banco$cores <- NA
banco$cores[letras=="B" & 0 < numeros & numeros < 550] <- "vermelho"
banco$cores[letras=="B" & 551 < numeros & numeros < 999] <- "branco"
banco$cores[letras=="C" & 0 < numeros & numeros < 300] <- "verde"
banco$cores[letras=="C" & 301 < numeros & numeros < 700] <- "amarelo"
banco