1 yes JBPM is a process engine and it's up to you to provide human interactions. Any MVC will be suitable here. Please take a look to the JPDL "start" and "task" nodes into the dev guide. There is a "form" attribute that you may use to let your app know what form to display each time a wait state is reached. JBPM console do it with freemarker forms. I consider struts 2 is perfect for that. Same with any MVC lound client.
2 again whatever the view framework/solution, you have to retrieve data from it and pass it to the pvm engine. I didn't eard about a successfull attempt to have this automated. I suspect this could be archived with BPMN2 spec and new editors comming (see the great plugin from Koen in the forum), but there is work to do.
3 Yes you can let "managers" design the workflows: that the prime goal of JBPM (and almost all computer sciences formalisms form the 70'). But you should consider that process also implies data. You have two options a) to use process variable extensively and b) to have your own (separated or not) business database. This really depends on your requirements, personally i chosed b). For the signavio look & feel, i do not know.
4) Yes see the JPDL foreach loop semantic. It is a fork with the number of branches dynamically set through a process variable. In the same way the join can be stop on a number condition. We did not use it yet , so take a look at JIRA first. Also : this is actually dynamic number of parallele branches in one process, make sure that you really need such a thing.