Any given content object can exists in multiple locations. You can have a folder for each classification, and include the article in to any folder that applies.
You can use regular objects for classifications, for instance you could create a topic and country class which holds the information on each type. You then create a folder for topics and countries and place objects in them.
For editing objects you use something called remote IDs for placements, this means that for a specific remote ID a placement node ID is stored. Practically this means that you could display a dropdown with values taken from the topic or country list and let the user choose one of them. When the object is published it will be placed in the selected nodes.
The only thing you need to do for this is an override template for the classes that require classification. See design/standard/template/content/edit_placement.tpl for an example of this, there's some commented code at the top.