Several suggestions.
Package your course as an Application, which will be unzipped into the UserBaseDirectory/Application folder. The top folder might have a name like Coursexxx and the notebooks might go in a folder CourseNotebooks. This has several advantages and the first is that you now know the paths to all the notebooks. There might also be a StudentNotebook folder where the student can put his notebooks associated with the course. Another advantage is that you might write a package for general routines used in the notebooks and include it at the top level. The students could have access to these routines also. You could also include StyleSheets and Palettes. All of these things will be automatically found by Mathematica. This isn't a direct answer to your question but at least it starts with a manageable and WRI supported structure.
(One problem I find is that users will put their work anywhere than in the UserBaseDirectory/Application folder and always have some reason for it. The reasons are never good enough to overcome the advantages of this location.)
Then you could have a CourseContents notebook that contained links to the various notebooks. Again, avoiding the chore of writing a general search function, a lot can be achieved by using long descriptive names for the notebooks and within the notebooks similar descriptive names for the Sections and Subsections. Grouped under each notebook link could be links to the various sections and then other links to specific cells that might be useful.
Links within a notebook should probably be with CellTags. My experience with CellIDs is that the link is selected but if it is in a lower subsection it will remain invisible because the containing sections are not opened!
Within each a notebook, a student could always use the Find function, which might be quite useful if there is a fair amount of textual discussion within the notebook.
If you're using Mathematica 10 (I've backed off to Mathematica 9) the Association capability might be a way to build a flexible index for the course but I'm not certain and it probably would be a major diversion.