There is no good reason to use your own HTML tags. At least because once you start using your own tags it's not HTML anymore.
If you need an extensible markup language for semantic purposes, use XML to model your data and XSLT to render your document to HTML.
On the HTML side, if you need to distinguish a set of elements with specific CSS rules, the right approach is to:
- Pick the HTML element that is semantically closest to what you need. The SPAN and DIV elements are popular for this purpose, but are semantics-free and other phrase elements are sometimes more appropriate.
- Add a class attribute. Note that this attribute is a space-separated list of names. So you can assign multiple classes to a single element.
- Use the CSS class selector to associate the desired formatting to the elements.