Is there any method or header within HTTP/2 to allow a client to specifically request retrieving multiple resources in a single request from the server and work out-of-the-box with any supporting server? Or is the only solution to design a custom API on the server which clients can use to do so?
To answer your question: No.
But depending on how smart your browser is, the overhead of issuing multiple HTTP/2 requests is minimal. For one thing, your headers will be compressed, so on top of the bytes for the URI itself (that you need to send anyway) you will probably have an overhead of about 60 bytes per request, maybe less. From there on, there is no requirement in the HTTP/2 spec that HTTP/2 frames travel in different TCP packets (or SSL records), so your browser is free to gather several HEADER frames initiating different requests and send them together... . And even if your browser doesn't do that, there is a chance that Nagle's algorithm will trigger and send them together anyway over the wire. Compliant HTTP/2 servers should process header frames coming in tandem, the frames are even exempt from flow control.
There will still be some overhead over creating a custom API, but I'm not sure if it would be worth the trouble.