We allow pre-orders as well as standard orders. When it comes to checking out we would like to give an option to choose all delivered together or for the products readily available to be shipped now while the pre-orders to be shipped as they become available.
Is there an app for this?
My first thought when I read your question is that you could introduce a checkbox opt-in (perhaps on your cart page) which asks your customers whether they would like their order to be delayed until all items can be shipped together, or for items to be shipped as they're available. Totally up to you exactly how you'd like to pose that question, but here are some examples of apps you might use to achieve this:
It's important to note though that most (if not all) apps of this kind will require customers to check the box before proceeding to checkout - of course, in order to successfully use a checkbox for the purposes you're describing, we'll need it to be optional. If any of these apps appeal to you, I'd recommend connecting with their support teams directly to discuss your options.
Another option would be to enable (and then edit) your order notes. This would not require you to work with any app teams and can be achieved using your theme's language editor. Let me know if you're curious about this option and we can definitely chat about it in more detail.
Have you decided whether or not you'll be asking your customers to pay additional shipping fees for items shipped separately?
So there is currently no apps nor functionality to achieve this, good to know. I'll look at creating a specification to have this developed as an app.