There is a programmatic way to add more content to workflows once they're in-flight. However, once the workflow is in-flight, the workflow process instance isn't the correct place to add things. Instead, you'd want to add new content to a workflow task.
Essentially, a workflow is made up of a series of tasks. When the workflow transitions from one node to another in the workflow model, it instantiates a new task and the task holds the state (and references to documents) for that phase of the workflow process. When you approve (or otherwise transition out of) the workflow task, a new task is created and state is copied forward. This allows for parallel execution of chains, decisional routing and so forth.
If you've used jBPM, Activity or CQ5's workflow engine, then all of this is probably very familiar. At any rate, you definitely can use the API to attach new documents to in-flight workflows (at the task level). The methods you'd use are these:
To add comments to a task:
http://api.cloudcms.com/docs#!/workflowtask/post_workflow_tasks_taskId_comments
To add resources (documents) to a task:
http://api.cloudcms.com/docs#!/workflowtask/post_workflow_tasks_taskId_resources_add
To update properties of a task:
http://api.cloudcms.com/docs#!/workflowtask/post_workflow_tasks_taskId_update
While this is possible via the API, our user interface does not provide a way to attach additional documents to a workflow. It also doesn't provide a way to remove documents.