I use forScore so in that you can enter meta data, including title, composer, difficulty level. So I enter that info. Then forScore lets you search by title or composer (and probably other things as well but those are the ones I use).
Since all apps should facilitate word searches, choosing good file titles and entering meta-data will be the most important thing you can do.
For books, I make bookmarks to jump to specific pieces. I also will make individual PDFs of pieces that I want to keep as repertoire pieces, rather than leaving them inside a multiple page PDF of a book.
For things I’m actively working on or playing, I make playlists. I have an “in progress” playlist and a few different repertoire lists.