Are you thinking about metadata tracking? I has been working on that (for security purposes), and I see it from the hardware point of view. If you want to enforce data type check in hardware, the more probable outcome is that the would get a lot alarms (warnings) mostly because C complier will allow you to mix data types. To reduce the numbers of alarms, you should enforce a more strict casting rule and do not allow this type of warnings during the compilation.
I will suggest you to rephrase the question, so we can get a better idea what are you thinking.