That's a very nice method, Dave. It won't accommodate a comma, question mark, or any character with more than five elements, but you probably don't need those characters in that application.
One method I've used involves inserting a single '1' bit terminator after the last element. This allows for characters or pro-signs up to seven elements in length and eliminates the need for an element counter. A space character is empty except for the terminator bit ('10000000'). Processing the dits and dahs is similar to the method in Dave's example.
Code:
id
retlw b'10010000' ; 'd', dah-di-dit
retlw b'01000000' ; 'e', dit
retlw b'10000000' ; ' ', space
retlw b'10110000' ; 'k', dah-di-dah
retlw b'11100100' ; '8', dah-dah-dah-di-dit
retlw b'01001000' ; 'l', di-dah-di-dit
retlw b'00001000' ; 'h', di-di-di-dit
retlw b'10010100' ; '/', dah-di-di-dah-dit
retlw b'01010000' ; 'r', di-dah-dit
retlw 0 ; end-of-table
Bookmarks