Hello @Massiri how are you?
About the first question: It is very common the utilization of 1 vApp with 1 VM and there is no problem with that. As you also mentioned, it is possible to have 1 vApp with several VMs, and it is also good. This second scenario is commonly used when the customer has a system or application and want to group all VMs that that are part of the solution in a single vApp. For example. Let's say that the customer has a internal social media web site that is composed by 1 Web Server, 1 App Server and 1 DB Server, then, the customer can create a vApp called Internal Social Media and put all those servers together, configure the right startup order, firewall rules, etc. It is the most common use case when you have more than one VM in a single vApp.
About the second one: unfortunately there is not a clone button in vCD, but from vCD 10.x, the copy button allows you to change some configurations of the virtual machine and reinforce the customization during the start up:
I am not sure is this could solve your problem, but if yes, and you can update to vCD 10.x, I really would recommend that! By the way, in vCD 10.x you can also create VMs without associate them to vApps.