I'm not going to suggest a solution in my answer since the best you can do without 3rd-party tools is probably PIMP_JUICE_IT's answer (although that answer is simply adding a new supplemental verb and it has nothing to do with the Windows "Open With" functionality and should be named accordingly).
I will however try to explain the technical details about what is going on and why:
The "Open With" submenu is implemented as a IContextMenu shell extension and is registered under HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers
. When you right-click on one or more items in a shell folder the shell looks at various keys under HKEY_CLASSES_ROOT
to build the menu. Entries under ...\shellex\ContextMenuHandlers
are dynamic and execute actual computer code that determines how many menu items to add (if any).
It seems like Microsoft coded the "Open With" extension to only add the submenu when you select a single file, with one exception; multiple shortcuts (.lnk) can be selected and you will still get the submenu (at least on my Windows 8 machine). I'll go out on a limb and say that the shortcut handling is a bug.
There is no technical reason why the menu could not work for multiple files and in fact it used to work just fine on Windows XP:
I'm guessing the main reason they removed it is; what do you do when the user selects files of different types? However, there is already a precedent for this; you can select files of different types and press enter to open all of them. When you do this the shell just uses the action associated with item that has the focus rectangle.
It would be possible for a 3rd-party software vendor to create a similar menu that works for multiple files. The only restriction is that the "Choose another app"/"Choose default program" item at the bottom of the menu would probably have to be disabled when there are multiple files because the official way to invoke that dialog only supports a single file path. To fill the menu it would simply use SHAssocEnumHandlers to build a list of applications that are available for the specified file type.
This is such a edge case that nobody has spent to time to re-implement the "Open With" extension just to support multiple files even though it would be technically possible to do so...