Since the string to be found is already being passed an argument to your function, you can 'hardcode' it by simply defining another function which evaluates your function with a hardcoded string, e.g.:
(defun c:test ( )
(chkmtxtstr "MyTextString")
)
Though, if you're happy with a case-sensitive match and assuming the MText content has no formatting and does not straddle multiple DXF group 3 entries, the code can become much simpler - consider the following:
(defun find ( str )
(ssget "_X" (list '(0 . "MTEXT") (cons 1 (strcat "*" str "*"))))
)
Since the above will return a selection set, you can call it in the following way:
(defun c:test ( / sel )
(if (setq sel (find "YourString"))
(command "_.change" sel "" "_p" "_la" "0" "_c" "ByLayer" "")
)
(princ)
)