Change the default duration of new iCal events
In iCal, whenever you create a new event, it is set to last one hour by default. A quick look in the iCal preferences seems to suggest that there is no way to change this, but luckily there is a hidden setting that you can change via the Terminal.
Start by opening up Terminal (located in Applications/Utilities). In the window that appears, paste the following line then press return.
defaults write com.apple.iCal 'Default duration in minutes for new event' 30
The number at the end corresponds to the duration of new events in minutes. You can change this to any number you like, including zero, which will create events with the same start and end time. You will need to restart iCal for the changes to take effect.
If you want to set it back to the default 60 minutes, you can either repeat the command with 60 at the end, or use the following command:
defaults delete com.apple.iCal 'Default duration in minutes for new event'