Yes, preparing a Naive Bayes classifier for each category and then labeling each message with the class on the basis of which the classifier provides the highest score is the standard first approach to such problems. There are more sophisticated classifier algorithms that you can replace for Naive Bayes if you find that performance is poor, such as the Vector Vector Machine (which, I believe, is available in NLTK through the Weka plugin, but not positive). If you cannot come up with anything specific in this problem area that would make Naieve Bayes especially unsuitable, then you could try it first for many projects.
Another NLTK classifier that I would like to consider will be MaxEnt, since I believe that it handles the multiclass classification initially. (Although the plural binary cool approach is very standard and common). In any case, the most important thing is to assemble a very large body of correctly marked text messages.
If in the “Text Messages” section you refer to the actual text messages of a cell phone, they are usually very short and the language is very informal and varied, I think that the choice of function can become a more important factor in determining the accuracy than the choice of classifier for you. For example, using a Stemmer or Lemmatizer, which understands common abbreviations and idioms used, tagging parts of speech or fragmentation, extracting an entity, extracting probably the relationship between terms, can give more hits than using more complex classifiers.
This document talks about classifying Facebook status messages based on moods that have some of the same issues and may provide some insight into this. The links are linked to the google cache because I am having problems with the source site:
http://docs.google.com/viewer?a=v&q=cache:_AeBYp6i1ooJ:nlp.stanford.edu/courses/cs224n/2010/reports/ssoriajr-kanej.pdf+maxent+classifier+multiple+classes&hl=en&gl= us & pid = bl & srcid = ADGEESi-eZHTZCQPo7AlcnaFdUws9nSN1P6X0BVmHjtlpKYGQnj7dtyHmXLSONa9Q9ziAQjliJnR8yD1Z-0WIpOjcmYbWO2zcB6z4RzkIhYI_Dfzx2WqU4jy2Le4wrEQv0yZp_QZyHQN & sig = AHIEtbQN4J_XciVhVI60oyrPb4164u681w & pli = 1
source share