Please notice: This article is for Drupal 6.
It would be great if we could add and remove fields to the contact form the same way we add them to content types using CCK, don't you think? But at this moment, this is not yet possible. As of today, there's no module that let us do it using the control panel. We need to do it "geek way", writing code.
The good news is that, as usual, we don't need to hack Drupal's core. We just use hook_form_alter to make the trick.
OK, let's do it.