As far as I've been able to find out, when changing an existing column - No. When adding a new column - Yes.
Though, what difference does it make anyway?
Whenever we want to perform something that is made up of more than one distinct operation, but we want to handle all the different steps as one single command, we have the opportunity to do those within a transaction.
Thus, even though you
1) add a default
2) update all null to the default value
3) change column null to not null
..by enclosing all three within a BEGIN TRANSACTION and COMMIT TRANSACTION block, they all become one logical command anyway.
..or is there some other compelling reason for you wanting the 'single command' so bad?