Here some thoughts I have about:
1) I see. Maybe this would be the easest way. if any arch object, as materials, has a Classification line in its data where you could write the code you want (or select it from a txt file or similar) and export it. For what I've seen the information that appears at the Classification data of an IFC it's
a- Classification name: Uniformat, Omniclass...
b- Reference/Identification: The code. For example 20.20.10.10
c- Name: For example pillars
Maybe creating an spreadsheet named as the classification system with label data, descrition data, code data information in it would be exportable as IFC classification data.
2) I don`t see that a problem. As far as I know you could even have 2 codes for the same Arch object
3) I think the program hasn't got to have the code but allow you to put the code you want. You might need to classify your project in a personal way. Or, for what I know, there are public administrations that comand you to classify your BIM project with an specific classification system.
4) ¿Would it be possible to link this UI with spreadsheet or something that had all the codes of the classification system in order to pic the one you need? Then you would have the work to write all the codes once, but then you could use this in other projects.
5) In that I can´t help you (for now)
I attach here the classification system that our regional BIM users Association created in pdf and xlsx (in CAT/ESP) as an example
By the way. I've seen in the Arch objects data an IFC Properties line. Which is its use?