"Beware of bugs in the above code, I only proved it correct, not tried it" - Donald Knuth
And second you need to change the registration template app/design/frontend/base/default/template/customer/widget/name.phtml, and remove the <em>*</em> for lastname. Magento will take care of the correct class for JS validation.
You cannot split the form into 2 columns via the layout xml. The term "columns" has a different meaning it Magento. A column acts like a container for the elements inside it and you need all the fields to be in the same container because they should be wrapped in a form.
But what you can do is to edit the template customer/form/register.phtml and change the markup to fit your needs. Copy the file from app/design/frontend/base/default/template/customer/form/register.phtml to your theme app/design/frontend/{package}/{theme}/template/customer/form/register.phtmlkeeping the same path and work your magic in the clone.
Best Answer
First of all you should remove the
is_required
option from the lastname attributes in the customer entity and address entity:Then you should rewrite registration form of your theme. In the default magento setup this template is located here:
You should remove validation and required class from the lastname label and lastname input, like:
Important Note: Do not change the original file! You should do it in a custom module or theme!