We want to use a single Jenkins job to build an application.
The solution from How to configure a single Jenkins job to make the release process from trunk or branch
You can use one or booth of the plugins below.
1 - Dynamic Extended Choice Paramenter This seems to make exactly what you want but I never use this one.
2 - Dynamic Parameter In this you can configure a script to read all app's, branch or trunks and transform this on choices options for your job or just add a list of static options.