How do I create custom content types in drupal?
Yes this can be done.

For the processing you'll need a custom module. Here's a tutorial to get you started with modules.

As for the specific functions you'll need all revolve around hook_nodeapi (d6) or node api hooks (d7).