Why would you need a NULL value? In your example any 'default' would do. If it were an integer field for example, I'd use somthing like -1 as a default 'ID unknown'.
This is good workaround Of course your default value has to be outside of the range of the normal values for that attribute. Also the application has to check for that default value instead of NULL . NULL is of course more natural choise, but is quite unpleasant to have to cast it to a specific type.
Yes, you need to keep the ID range in mind. I normally use -1 for 'unknown' and -9 for 'deleted' and a valid ID range > 0 where ever possible when dealing with ID's, so I don't get confused or forget my choices.
Another reason not to use NULL values is that some functions respond in unexpected ways when confronted with NULL values. Sometimes I'd end up converting NULLs into something else further down the line anyway.
I sometimes use null as sathyaram_s suggested and sometimes 'default' value depending on sort I need. Null values are not sorted the same way as 'default' values. So don't ignore posibilities of using null in SQL.