Okay I found part of the answer...quite a bit to go though. I found the following utility method here:
public void AddCustomField(SPWeb web, string fieldType, string fieldName, bool isRequired, string defaultValue, string fieldGroup)
{
//Check if the field is there or not already
if (!web.Fields.ContainsField(fieldName))
{
//Initializing a SPField instance
SPField customField;
//Creating a new filed
customField = web.Fields.CreateNewField(fieldType, fieldName);
//Assigning a group
customField.Group = fieldGroup;
//Sets this field is required field
customField.Required = isRequired;
//Assigning a default value
customField.DefaultValue = defaultValue;
//Adding the newly created field to SPweb
web.Fields.Add(customField);
}
}
However, I'm not sure how to call this method, could someone give me an example?