Просто продолжайте искать следующий символ вашей потенциальной подпоследовательности, начиная с последнего найденного. Как только один из символов не может быть найден в остальной части строки, это не подпоследовательность. Если все символы могут быть найдены таким образом, это:
def is_subsequence(needle, haystack):
current_pos = 0
for c in needle:
current_pos = haystack.find(c, current_pos) + 1
if current_pos == 0 : return False
return True