Yes, there are a number of 'text' fields within a midi file. These have specific labels, such as 'Lyric', and some software may use them, but most do not.
It would be quite in order to use one of the fields for 'tab' data.
You would need software that was aware of this at the time the SMF was being created, or updated to add the tab data, and you would need further provision at the time the SMF is being played to make proper use of the data. You would also need to ensure that software that DOES use the field you choose does not misinterpret the data for tab and cause problems.
You refer to midi files containing tabulature as well as notation. I'm not sure what you mean here. As far as I'm aware, midi files do not normally contain 'notation', they contain note numbers, and seperately timing information, from which it is possible to generate notation.
The midi file spec provides for 7 text events, namely Text, Copyright, Seq/Tr Name, Inst Name, Lyric, Marker, Cue Point. Text and Copyright might normally be used at the beginning of a file, but thereafter not and so readily available. Inst name may be used more often, as the instrument on a specific track may change during playback. Lyric might be used for Karaoke type files. Marker and Cue point less often used, maybe more relevant to AV use etc?
Note that all the text fields would be preceeded by timing data, so that the message therein could be made to appear at a point of your own choosing.
I have software of my own for playing midi files. At present, this software disregards most of the text fields. It could easily be changed to display the contents of a field at the specified time. Maybe other software for playing a midi file can do similar things, maybe as an option?
Geoff