By default, the zsh shell will treat unmatched filename globbing patterns as fatal. If you are expecting a glob not to match anything, then you may use a globbing qualifier to make the pattern expand to nothing instead of failing:
for profile in ~/.profiles/*(.N); do
for file in ~/.s1n7ax/$profile:t/alias/*(.N); do
include $file
done
done
Here, the trailing N in parentheses will make the pattern disappear completely if there is no matching filename, causing the corresponding loop to be skipped. The dot is another qualifier that only selects regular files. Would you additionally want to match hidden names, you should add D to the list of qualifiers.
The N qualifier has the same effect on the pattern as when setting the nullglob shell option in the bash shell, and D has the same effect as setting dotglob. The dot has no equivalence in bash other than iterating over the matching names and testing each with an -f test.
The :t at the end of $profile is short for "tail" and will give you the base name of the pathname in the variable.