Can the following be a solution to the forced subtitles problem?
1. Make the forced subtitles track appear as a "language" in the subtitle menu, with a name like "(forced-only)"
2. Make VLC default to "(forced-only)" instead of "Disabled" if no external (ie srt) subtitle is loaded, if a forced track exists.
This should be easier to implement than trying to implement forced subtitles in the DVD-Video access module and it would also work with forced XSUBs in avi files and text subtitles in MKVs.
PS: I wish i knew good C to implement this myself.