Each distinct app needs its own App ID.
However, for development/debugging, you can create a wildcard app ID consisting of the string *
which will let you use a single development provisioning profile for all your apps.
Only when it comes to distribution (via the app store or adhoc/enterprise) will you need to create the app IDs and profiles.