The only way to do everything you ask is to rip a disk image of the DVD and then play the image. Any other process which doesn't preserve the exact format of the disk will likely remove one or more of the features you're after because DVD is a very specific variant of the MPEG-2 standard. DVD player programs — which you still have to use to interpret the menu information — often depend on their input following the standard closely.
There are lots of ways to rip a DVD image, enough that it's worth a separate question. A quick and dirty way to do it is from the command line:
$ dd if=/dev/scd0 of=my-movie.iso bs=2048
Obviously you must substitute the correct DVD drive dev node if yours isn't mounted on
Some media players can play ISO files directly, such as VLC and MPlayer.
If you want to use a player that can't open ISO files itself, you can mount an ISO disk image as a virtual DVD. This is indistinguishable from a real DVD, from the player's perspective. I assume you are using Linux, where you use the loop device for this:
$ mkdir -p $HOME/virtualdvd
$ mount -t iso9660 -o loop my-movie.iso $HOME/virtualdvd
Depending on the permissions on
/dev/loop?, you might have to be root (or use
sudo) to do the second step.
Having done this, you point your DVD player program at that
Other *ixes usually have an equivalent mechanism to Linux's loop device, which may work a little differently.
EDIT: If you can give up the interactive menu requirement, there are lots of alternatives:
MPEG-2: If you simply rip the VOB files from the DVD, you can concatenate them and feed them to anything that can play generic MPEG-2 files.
You lose menuing because the result no longer conforms to the DVD spec. The data is still there in private sub-streams, but I'm not aware of any player that will interpret them when you reorganize the data this way.
Beware that simply blindly concatenating VOB files isn't what you want anyway. You'll drag in things like the motion clip used behind the DVD menu, which is often stored as an independent VOB file. Sorting out which data to pull from which VOB file is one of the services provided by a DVD ripping program.
MPEG-4 part 14: This is the container format usually used by H.264 files. It is based on the QuickTime format (see next), and so it shares a lot of its power. When you use a program like Handbrake to rip a DVD to H.264, this is what you get. You can ask Handbrake to give you all the audio tracks, angles, etc. Your ability to see all this is limited only by the capabilities of the program you use to play it.
QuickTime: Supports any number of tracks, including subtitles, but there is no standard way to translate DVD menus to something a QuickTime player could understand. Apple's QuickTime player used to include Adobe Flash support, which could have been pressed into this use, but Apple dropped that feature years ago.
MKV: Like QuickTime, supports any number of audio and video tracks, plus subtitles.
Ogg: Pretty much the same as MKV, from a feature standpoint. There are a bunch of niggly technical differences but they don't matter for your purposes.