Your tpl.dropdown_input(["A", "B", "C"]).add_properties(searchable=True, disabled=False) is already possible as tpl.dropdown_input(["A", "B", "C"], opts=dict(searchable=True, disabled=False)) actually 
But keep in mind that what actual underlying component “dropdown” means is template-dependent! With the DBC templates it’s a dbc.Select and with others it might be dcc.Dropdown.