There are already couple of verty good guides made by TheMatrixx and Paddington.
But certain program always produced errors for me and I couldn't make it work.
So I tried to find my own way to add a subtitle and I found it!
If one of the above guides work for you great, but if not, there is still hope.
This guide will let you add your own subtitle while keeping the menu structure and
it's also compatible with multi-pgc DVDs.

Based on my previous guide using srt2sup, which was very popular, I updated it to describe my own tool, SubtitleCreator, which allows you to do many of the things that srt2sup can, but is open source, has advanced synchronization features, reads *.sub files as well, and uses the original IFO file for the color palette. Give it a go, and let me know what you think of it.