Several modules and/or FormAPI techniques (example 1, example 2) exist that allow a CCK submission form to span multiple steps or pages, however the modules do not currently work for Drupal 6, and the programming method is above the ability for the average site admin to accomplish.
However, there's one interesting method that harnesses the usefulness of CCK's "Fieldgroup" sub-module, paired with a few other key modules and settings, to give the effect of a multi-step/page form. This is by no means a perfect solution or applicable to every situation, but in some cases, it should be sufficient.

Ensure that you have the following modules installed in order to follow along with this guide:
enabled, and if you prefer the Next and Previous navigation buttons to have capitalized names or use different wording, adjust the text here. When you've completed these settings, press "Save configuration".[author-name-raw] [mm]-[dd]-[yy] (Author's name + the submission date). After you've added custom fields to the content type, you can also come back to this setting and use the CCK text tokens options, which allow you to choose any other fields from the content type (for instance if one of your form fields asks for the person's name, you can use the name they type in your Title.tabs option for the Style setting. In Drupal 5, the Style setting is available while you create the Fieldgroup, and is also available from the Fieldgroup's "configure" link. While configuring the Fieldgroup, you can also enter Help text which will be shown at the top of that "page" of the form.If you prefer horizontal tabs, then skip this step. However, if you have more than a few steps in your form, the number of horizontal tabs is likely to span more than the width of your site's layout, and will begin to stack on top of each other in a rather unappealing manner. In this case, vertical tabs that run along the side of the form are a better choice.
Fortunately this can be accomplished using just some CSS to override and change the position of the tabs. This is a bit of a messy way to do this, but it will work for now; the next release of Tabs module will evidently come with a vertical tabs option by default. Open the style.css file of your theme and add the following code to override the default horizontal tab layout (this works for certain with the standard Garland theme, but may require adjustments for other themes):
/* Turns off the clear:both in the span from Tabs module's drupal-tabs.css,
so the form will float to the right of the tabs */
#tabs-fieldgroup_tabs span.clear {
clear: none;
}
/* Sets spacing between the tabs and the form */
#tabs-fieldgroup_tabs ul.primary {
margin: 0 20px 0 0;
}
/* Makes tabs vertical and sets padding below each */
#tabs-fieldgroup_tabs ul.primary li {
margin: 0;
padding: 0 0 12px 0;
display: block;
}
/* Prevents the form fields from wrapping under the vertical tabs */
.node-form .ui-tabs-panel {
float: left;
}
/* Clears the float so the Save & Preview buttons stay below the form */
.node-form div.admin {
clear: both;
}
/* Ensures the float clears when the admin is viewing the page too */
.node-form fieldset {
clear: both;
}
/* More tasteful separator line before prev/next buttons*/
.tabs-nav-link-sep {
border-top: 1px #E2E2E2 solid;
margin-top: 10px;
margin-bottom: 10px
}
/* Overriding Tabs module's drupal-tabs.css, more tasteful prev/next buttons */
.tabs-nav-previous, .tabs-nav-next {
font-size: 12px;
font-weight: normal;
float: left;
border: 1px solid #ADADAD;
padding: 1px 7px;
margin-bottom: 5px;
cursor: pointer;
background-color: #E2E2E2;
}
/* Changes hover state of the prev/next buttons */
a:hover.tabs-nav-previous, a:hover.tabs-nav-next {
text-decoration: none;
color: #FFFFFF;
}Since the pages/steps of this form are actually still part of a single CCK form, the data of one step is not yet saved when proceeding to the next step (it is still there, but is hidden while the next step of the form is shown). It's possible that an end-user of the form may misunderstand or possibly forget that the form has not been saved, and navigate away from the page, losing all of the data they've entered. As a multi-step form such as this is likely to be a substantial amount of data, avoiding a loss like this is important.
One solution to help avoid this problem is the SaveGuard module. If the form has been modified, SafeGuard displays a warning message if the user attempts to navigate away from the page before saving. Simply enable the module, add a custom message if desired, and it immediately begin its task of helping users avoid accidental data loss.
Another similar but more robust solution to consider is AutoSave module.