It’s quite easy to use folders as link-categories and Ditto to create the listings.
Another way is to use template variables that will hold the category (checkbox, radio buttons or listbox).
I agree with ganeshXL, you could go either way. Since the list is not too long just keep it in MODx documents, possibly use tags to isolate them into categories. To include new ones you should be able to use NewsPublisher or FDM.
If you want this to be a huge directory then a custom db would be better. For this you could use eForm2DB to insert the data and then create a snippet to create the output.