A: 

You can use the free foxit reader to fill in the forms, and if you pay a little you can design the forms that way you want.

You can also us iText to programmaticly create those forms.

There are free online services that allow you to upload a pdf and you can add fields also.

It depends on how you want to do the designing.

EDIT: If you use foxit reader, you can save any form that is fillable.

Milhous
I have used foxit, and it does not have the ability to enable saving of filled-in fields on my PDF form.
eleven81
We use version 2.3 at work and it allows our customers to save the fields.
Milhous
You are correct that foxit cant "enable" saving for users using Adobe, but for foxit it works.
Milhous
+1  A: 

There is a setting inside the PDF file that turns on the allow saving with data bit. However, it requires that you have a copy of Adobe Acrobat installed to change the bit.

The only other option is to print it to a PDF print driver which would save the data merged with the pdf file.

UPDATE: The relevant information from adobe is at: http://www.adobeforums.com/webx?13@@.3bbb313f/7

Chris Lively
I have Acrobat 6.0 Professional installed. Where is that setting?
eleven81
+1  A: 

When you use Acrobat 8, or 9, to enable user rights on a PDF so that it can be saved with the data, it adds about 20 kb to the pdf.

The other possibility is to use CutePDF Pro, add a submit button and have the XFDF data submitted to your self as an email or to a web server. The XFDF data can then reload the original PDF with your data.

Graham Chiu