When creating a Sharepoint 2007 survey, there is a possibility to show/hide the username of the user who took the survey.
Is it possible to set this option to No by default and make the selection read only?
Do I understand you correctly that you want to change the default behavior of creating a survey list?
This is not easily done, because the survey list is based on the
SurveyList list template and you would have to modify that one (if even possible) or create your own SurveyList template.
There are however tutorials on how to create a survey programmatically, which you could do with a Workflow and set your default properties for the survey list to hide usernames: