Its always a goal of mine to try to write code as re-usable as possible during each project. The extra time and thought put into the current project should make the next one that much easier. With the recent Precise Path project I was able to come away with a few different components. The main one, at least the one that is most applicable, is a Scroll Panel component. Basically you will just need to make a ScrollBar (which is just a movieclip for the track and one for the handle), a displayObject for the mask, and a displayObject that will contain the content to be masked. I took some time this morning to throw together a quick and dirty example which you can find here.
As you can see, clicking on the 3 different buttons at the top will drop in different text into the main text box. If the text is too small and doesn't need to be scrolled then the scroll bar will disappear. Otherwise, the scroll bar will check the height of the content and compare it to the mask and scroll the text accordingly. It does not have to be text... it can be any displayObject, this is just a simple example I came up with. You can find some more complicated examples in the Precise Path project.
I haven't given away any code since July.... doh! So I am long overdue. Check out the example zip file if you would like to use the component. It contains the appropriate classes and FLA example.
Feel free to use the component in any commercial project and what not. I apologize for any bugs that may be buried in it... I've only used it in one project so far so it is far from fully tested. But that is what you get for free :)
If you make any improvements on it, feel free to post below.