The launchpad's beta feature allows to create ubuntu packages using recipes. I got them to work, and I am now able to use them for packaging my project.
However, I have little trouble with the ./debian/changelog file. I need to fill it in with a distribution name ([package name] ([version]) [distribution]; [urgency]). Let's say I put "maverick" there. Then I request a build using the recipe. I choose to build it both for maverick and natty. As the result, the natty package in tha PPA will have it's "distribution" field set to "maverick", which looks invalid (actually, it seems only the changelog will have this incorrect information, but I got aware of that fact, when the notification e-mail I got stated my package was released for natty, but it also said: "Distribution: maverick").
It this OK? I am not even sure whether it is incorrect, but if it is, then how do I use the recipe, to build a package for many ubuntu series, using one changelog file?
In this context, the distribution field is irrelevant. Look in the official Ubuntu archives. Of course, you'll see that the top changelog entry will have "unstable" as the distribution for many packages. Likewise, all uploads that make it into the updates repository are actually copied over from the proposed repository. So a package in maverick-updates will actually say maverick-proposed in the changelog.
The importance of the distribution field depends on the tools that make use of it. For instance, if you use dput to upload to your PPA with:
~<your_launchpad_id>/<ppa_name>/ubuntu/
the distribution field in the changelog determines for which release the package will be built. But even this can be over-ridden by uploading directly to release you want with:~<lp_name>/ppa/ubuntu/<ubuntu_release>
Launchpad's build from branch service uses the ability to copy a package from one PPA series to another. It doesn't actually care what is in the changelog for this. So the way you are currently doing things is correct.