Likely. We similarly have street names consisting of the “name part” (“foobar”) and “status part” (“street”). We don’t call the latter prefix as it can reside in the end or in the middle of full name (CLADR ignores word order, so it uses “prefix” term). There are number of different status parts used for linear objects, like “street”, “avenue”, “alley”, “lane”, “boulevard” etc. Because different objects can have the same name part, but different status parts (like “foobar street” and “foobar avenue”) we definitely need to use full names, and that was fixed in a street naming convention we’ve been sticking to for some years. We’ve also decided not to use any abbreviations (e.g. “St.”), for names to be as most descriptive, distinctive and suitable for machine parsing and as least prone to errors or “editing wars” as possible.

From my point of view, this convention has proven itself to be quite useful. As streets names (which were a mess before) were converted to conform it, tons of address errors were also fixed and other errors (typos, thungs which should not be in name etc.), were found, and it was pretty easy to write software which can convert these names to arbitrary format like dropping or abbreviating status part, reordering words, changing case (differently for name and status parts) etc.

As Komяpa pointed out, there’s a piece of software named streetmangler written by me, which I use to make street names match our convention and to find/fix naming errors. Though it was written for Russia, it abstracts from the specific language and may be easily extended to support Greek. The documentation is in Russian too, but I can translate it to English if needed. Althrough it requires some extra work of creating a database of street names, you may find it useful for both checking/fixing names in OSM database and for post-processing OSM data before it’s used for e.g. rendering tiles or converted to some other format.

Summarizing above said and my experience, I’d not recommend to introduce extra tags for name suffix/prefix, as there’s already name= tag, it should contain full unambiguous name, and if it does, it’s pretty suitable for automatic parsing and splitting into distinct parts. Prefix/suffix tags are non-standard, redundant (as they duplicate data from name), will require extra effort of keeping them in sync to name and thus make data much more prone to errors.