are you wanting to extend the Content Block module with a custom field? out of the box, Content Blocks are not dynamic types, so you have to use the API to add the field, then manually add the fields to the input. There is a summary of how you can do this in this thread:
It seems like more trouble than it is worth however. Unless you need such extreme granular control over shared content, I think it might be best to create a custom module, then add it as to a page template so that it is reusable there, and any page that uses that template will have that content on it.
I hope this is helpful, please let me know if I misunderstood the question or if I can be of any further help!