Killing and reviving TV Characters
User interface decisions
Having a start option is an odd choice. If the user started the program itself, is it likely that they don't want to start the rest of its logic?
Successive concatenation
This:
decision_prompt = &quot;\nWould you like to bring back a character you killed?&quot;
decision_prompt += &quot;\nOr would you like to kill off another character?&quot;
decision_prompt += &quot;\nEnter 'kill off' or 'bring back' -&gt;&quot;

is better off as
DECISION_PROMPT = '''
Would you like to bring back a character you killed?
Or would you like to kill off another character?
Enter 'kill off' or 'bring back' -&gt;'''

Data structures
It seems that the order of killed_tv_characters does not matter, so it should be a set, not a list.
Input validation
This:
&quot;&quot;&quot;Checks user input for decision.&quot;&quot;&quot;
if user_input in valid_decision_input and user_input == 'kill off':
    return user_input
elif user_input in valid_decision_input and user_input == 'bring back':
    return user_input
else:
    invalid_input == True
    print(&quot;Please enter a valid input!&quot;)

has a few problems:

invalid_input == True doesn't do what you think it does; it's a no-effect statement
This doesn't really benefit from the combination of valid_decision_input (which should be a set) and checking for specific strings
Early-return means that you don't need to use else

Here is an alternative:
if user_input in valid_decision_input:
    return user_input
invalid_input = True
print(&quot;Please enter a valid input!&quot;)

Other concerns:

This will set a local invalid_input unless you declare it global at the top
Rather than returning a string, consider returning an Enum to narrowly represent user choice

Booleans
This:
if tv_characters == False:

should be
if not tv_characters: