Where/how do you wish to display the thieves guild trophies? If you want them to be relatively "static" trophies in your own house you can make your own display and simply make each of the "real" trophies the enable-parents of "your" trophies. This won't register edits to the original objects.
 
For your black books, scripted displays can forcibly remove quest objects from the player inventory. This can potentially cause strange behaviour but for stuff like the elders scrolls and the black books it should be fine once you're done needing those items. Here is a script I wrote to display my elder scrolls (it also handles some animations on my display):
	Spoiler 	Scriptname MDHImpButtonAnimationScript extends ObjectReference  {Our misleadingly named elder scroll dock script}Actor Property PlayerRef AutoSound Property IrisSound AutoObjectReference Property SoundSource Auto{Play the sound from the origin location of this reference}ObjectReference Property ElderScrollContainer Auto{The reference which will house our precious Elder Scrolls}ObjectReference Property ScrollTrigger Auto{This trigger facilitates scroll retrieval}Book Property ScrollToRemove Auto{The base object scroll we want to place:Vanilla: DA04ElderScrollDawnguard:}Message Property MessageWarning Auto{This will show if the player does not posses the required Elder Scroll}Message Property MessageCaution Auto{This will show the first time the player activates the dock. Warns the player that trifling with Elder Scrolls can has disasterous consequences}bool property isClosed = True Auto hiddenbool FirstTime = TrueAuto State NoScroll	Event OnActivate(ObjectReference akActionRef)		If !FirstTime					If PlayerRef.GetItemCount(ScrollToRemove) == 1				gotoState("HasScroll")				IrisSound.Play(SoundSource)				PlayAnimation("Open")					utility.wait(0.7)				PlayerRef.RemoveItem(ScrollToRemove, 1, false, ElderScrollContainer)			elseif PlayerRef.GetItemCount(ScrollToRemove) == 0				MessageWarning.Show()			endif		endif			If FirstTime && PlayerRef.GetItemCount(ScrollToRemove) == 1				MessageCaution.Show()				FirstTime = False			elseif FirstTime && PlayerRef.GetItemCount(ScrollToRemove) == 0				MessageWarning.Show()			endif	endEventEndStateState HasScroll	Event OnActivate(ObjectReference akActionRef)		If akActionRef == ScrollTrigger			IrisSound.Play(SoundSource)			PlayAnimation("Close")				utility.wait(1.0)	;wait for animation			ElderScrollContainer.RemoveItem(ScrollToRemove, 1, false, PlayerRef)				utility.wait(0.2)			gotoState("NoScroll")		endif                else		; do nothing. The player can only interact with the dock directly when it's empty. 	endEventEndState It works by checking the player inventory for a specific item, if found it removes that item to a special chest. That chest has a script on it which enables/disables certain displays depending on its contents. The scroll that actually gets displayed in my example is really an activator that will remove your scroll from the special container when you activate it. The script on the chest then handles updating the display.
It's a bit complicated but I wrote these scripts to handle many many different objects and displays, and to be modular if/when I need them to be.