The number of ports in each node in flow graph is a compile-time information because each port may have its own type. How is it possible to create a dynamic array of elements of different types? C++ does not support dynamic tuples. Therefore, I can suppose that you have a dynamic array of elements of the same type. Why do you need many subsequent nodes in this case? Why not to create a function_node and call parallel_for over the array? Sorry if the questions are irrelevant. Could you provide more information about your algorithm?
It seems that you do not need a parallel_for. Intel TBB flow graph supports data flow approach. You can create many tiles and put them to function_node with "unlimited" concurrency and the tiles will be processed in parallel.