I have a similar problem and i didn't found a really good solution, so all i'm going to tell you should be used only as a guide. I writed all the definitions that were used only as subprocesses in an properties text file and this way i could filter the process definitions that were listed. This is a valid solution for your first problem, but i have not found the way for tasks from subprocess appearing in the window of the main process. Maybe my solution isn't the best, but is the only one i could find. If anyone can help or you find out anything about this, please post it.
the answer to the second question is to write custom queries and design your own tasklist ui