Looking at the hill of indents seems like this can be improved I've spent some time on this as an answer elsewhere, and did my best to optimize it. But looking at the hill of indents seems like this can be improved. I've tried to implement an any() statement to replace the for break part, without any luck. Does anyone have any suggestions?
Groups = [[['NM1', 'OP', '1', 'SMITH', 'JOHN', 'PAUL', 'MR', 'JR'],
           ['ABC', '1L', '690553677'],
           ['DIR', '348', 'D8', '20200601'],
           ['DIR', '349', 'D8', '20200630']],
          [['NM1', 'OP', '1', 'IMA', 'MEAN', 'TURD', 'MR', 'SR'],
           ['ABC', '1L', '690545645'],
           ['ABC', '0F', '001938383',''],
           ['DIR', '348', 'D8', '20200601']]]

def ids(a, b):
    l = []
    for group in Groups:
        for lst in group:
            if lst[0] == a and lst[1] == b:
                if lst[2] == 'D8':
                    l.append(lst[3])
                else:
                    l.append(lst[2])
                break
        else:
            l.append(None)
    return l
        
current_id = ids('ABC', '1L')
prior_id = ids('ABC', '0F')
start_date = ids('DIR', '348')
end_date = ids('DIR', '349')
        
print(current_id)
print(prior_id)
print(start_date)
print(end_date)

Output:
['690553677', '690545645']
[None, '001938383']
['20200601', '20200601']
['20200630', None]

So basically, I have this Groups list, in that list are 2 nested lists. Assuming the output lists are [x, y], the first nested list in Groups is x, and the second is y.
You see my function has two parameters, a and b. x and y are determined when their corresponding nested list has a list that has a as the first index, and b as the second index.
If the nested list doesn't have a list that meets that requirement, the x or y will be None.

UPDATE: Is there any way to flatten the series of indents? At least a few?
As we do not know the task given we cannot fully review. While the code itself looks reasonable there is some smell.
date
To me it is very smelly, that a function named id() returns a date
start_date = ids('DIR', '348')

This is also requiring a switch inside your function, so most probably there are two functions intermingled that should not be.
data structure
list() is a bad structure to search in. While this may be the data format you read or get passed, you most probably should convert it to a structure allowing direct lookup (converting once). The description of the current structure is missing, also we do not know if there are other functions accessing the data.