Lucas,
Are you pointing out an oddity? Like: "why didn't I get an error for using an unspecified interval?".
I believe the default interval is DAY and that the numbers are being picked up as interval multipliers. Which shows us a bit about how the interval is parsed when multipliers and shift operators are included. Consider this variation of your code:
[pre]data test1;
format date1-date6 date.;
date1=intnx("1",today(),0,"b");
date2=intnx("2",today(),0,"b");
date3=intnx("3",today(),0,"b");
date4=intnx("4",today(),0,"b");
date5=intnx("5",today(),0,"b");
date6=intnx("6",today(),0,"b");
output;
date1=intnx("day1",today(),0,"b");
date2=intnx("day2",today(),0,"b");
date3=intnx("day3",today(),0,"b");
date4=intnx("day4",today(),0,"b");
date5=intnx("day5",today(),0,"b");
date6=intnx("day6",today(),0,"b");
output;
run;
proc print data=test1;
run;[/pre]