You can create an editable text variable in your inspectable object blueprint where the text can be stored. Any instance of the object you place in the level will then have its own text property, which can be found in the details panel and changed just like the location or rotation. This variable will also be inherited by any child blueprints, so if you create specialized inspectable objects (bloody notes, bullet casings, and so on) they will have their own inspection text variables, as long as you set the original inspectable object blueprint as the parent.
This variable can then be accessed in any of your blueprint scripts that work with the inspectable object. For example, a UI widget could get the value of the inspection text variable from the inspected object, and set the content of a text widget using the value that is returned.