I would argue that a GeoTiff (and any of the other image formats depending on your use-case and sensitivity to different compression methods) is an ideal format for a raster within the limits of the specification of what a raster is, namely a simple grid of values. Non-numeric data starts to pose problems for data storage that are better solved by other means, namely a data table of some sort - usually referred to as a Look-Up-Table (LUT).
Storing non-numerical data in a grid format would lead to massive data-bloat, so I am not sure why you would want to do it. For instance, let's say you have a raster representing land-use with values along the lines of "Agriculture", "Housing", "Industrial" and so on. Using numeric values and a small LUT, you can have a raster with a pixel depth of one byte (assuming you have 256 land-use types - or potentially even less) and a LUT that would be tiny even stored as uncompressed ascii. Try doing the same with the non-numerica data and you can see straight away that you will need far more than 8-bits per pixel and for no practical gain (even if you did manage to implement a non-uniform cell-size to reduce data-bloat from shorter attribute values)
LUTs are common fare. They do exactly what you want. The ESRI Grid format uses a Value Attribute Table (VAT) to store non-numeric data, which appears a bit more integrated than LUT, but then an ESRI Grid is not just one file but loads of them, so I see no advantage as the VAT for an EXRI Grid is really just a slightly automated LUT.
If you don't want to use a LUT, you could store your data as a serialised multidimensional array (for instance, if you are using Python, you could store your data in a numpy array and then pickle it. You would then need your own method of handling that (you can do it through GDAL/OGR). If you're going to do this, though, you might as well just use a database... but you still have all the extra data bloating the system.
Also, a numerical grid is ideal for all sorts of "mapematics". This is something that is very much more difficult when you include the possibility of a grid holding non-numeric data.
Finally, a numeric-only system means you can have automatic data visualisation by using colours, which is impossible with non-numeric data... unless you use a LUT to convert it to a colour!
So, a GeoTiff is excellent at what it does and a format along the lines you suggest would be non-ideal due to data-bloat and difficulty in visual representation. Learn to love the raster just the way it is :)