Hi @bretthouston and welcome to the community.
I'm not sure I see the problem here as the code you've got works for empty strings too (I also think given your logic observation number 3 should have adj_color as "Blue" not "Other").
Here's the example data I used
data have;
infile datalines dlm="," dsd missover truncover;
length color $6 default $6;
input color default;
datalines;
"Blue","Other"
"Teal","Other"
"Teal","Other"
"Yellow","Other"
"Orange","Other"
"","Other"
;
run;
data want;
length adj_color $6;
set have;
if color="Blue" or color="Teal" then adj_color="Blue";
else adj_color=default;
run;
If I've misunderstood what you want please let us know