Our fellow Philippe that usually answers this kind of question is currently on vacation, so I’ll take a swing at it. Just don’t expect the same level of friendly, thorough and insightful answer.
Yes, by using a POST request and providing the JSON data as the body of the request. This might require some JavaScript programming on the Salesforce side, possibly client-side (i.e. the script executes from the context of the web browser).
Absolutely. By default, Workflow will loop through the attachments, where each attachment becomes a distinct input file. This can be configured at the task level with the Loop through each attachment as a data file and Discard XML envelope options. Please refer to the documentation for their exact usage, or experiment with them to fine tune the behavior.
If you know how to get in touch with our old friend Danny, he’s done something similar with Salesforce and Connect. He may be willing to share some insight.