How can I create a customised add/node form in D7?
you may try using Webform module.

Webform is a module that aids in making various one-off forms such as contact forms, surveys, order forms, reservations, CRM requests, and more.
To install the module, download the module and add it to your sites/all/modules directory. Enable it under /admin/build/modules.
You will now have a new node type called &quot;Webform&quot;. From there you simply give the webform a title, description, confirmation message, set up email settings and the like.
Finally, you can add several components (think fields). There are several component types available: fieldset, pagebreaks, grid, textarea, textfield, select (checkboxes, pulldown lists), email addresses and more.

Here's the documentation.
Let me know if you need more information.
-------------------- UPDATE ----------------------
To customize the HTML of the form you can copy the file webform-form.tpl.php and copy it into you template.
Inside there is the array $form['submit'] that contains the compontents of the form.
write dsm($form['submit']) and it will print the compontents.
Then you may do something like
&lt;div class=&quot;my_class&quot; id=&quot;my_id&quot;&gt;
&lt;?php print render($form['submit']['YOUR_FIELD']); ?&gt;
&lt;/div&gt;

Then you may want to assign this template to that node, so it will be
webform-form-NID.tpl.php