1) on the general subject of queue topics, it's recommended that folks do not rely directly on the queue topic fields. Here's a link to a discussion on ways around that.
https://one.workfront.com/s/question/0D54X00006lbuDjSAI/retaining-historical-data-when-queue-topics-...
Without this step, if you delete a queue topic, your request reports may suffer.
2) For your specific question, I think the best way to handle this -- if you're allowed -- would be to put your code at the end of each queue topic name (or at the beginning). For example queue topic name = Custom Core - CC. Then call it using RIGHT (or LEFT). This link below contains the syntax.
https://one.workfront.com/s/document-item?bundleId=the-new-workfront-experience&topicId=Content%2FRe...
If you are not allowed to put it in the name, you can put it in the queue topic description, so it's a bit more hidden. This makes it harder to manage (in my opinion) but it is what it is.
Without this step, the only other way I could think of doing this would be to set it up in the calculated field but this means every time you add or change a queue topic, you would need to edit this field.
3) In generic terms, I would probably try something like this:
A) on the request form, set up a calculated field to catch the "CC" part of the code.
B) pass this to the project form when you convert the request to the project
C) add the field contents to the end of your current project field that has the entry date and ref number