Как динамически менять имена методов в Python?
Это у тебя какой-то неправильный драй.
Правильный драй будет такой: написал что-то работающее - увидел повторяющийся фрагмент - вынес его в функцию - убедился, что стало короче и логичнее, и даже всё работает - успокоился.
А вот начинать с запихивания всего в одну мегафункцию не надо. Уже на трёхстрочном примере от  JaxxDexx видно, какая это кака )
Не уверен что делать так хорошая идея, но это возможно, получая аттрибут объекта через getattr и обращаясь к результату. class Member:
  def all(self):
    print "hello member"

class September:
  def all(self):
    print "hello september"
  

class Field:
  def __init__(self):
    self.member = Member()
    self.september = September()

field = Field()
field.member.all()
getattr(field, "september").all()
Если бы "september" было бы названием фунцкции то вызов был бы просто getattr(field, "september")()
По второму вопросу, все так же. А через setattr можно менять значение аттрибута. А через dir(field) можно получить список всех обьявленных на элементе полей.class Member:
  def __init__(self):
    self.name = "John"
    self.surname = "Galt"
member = Member()
print member.name
print getattr(member, "surname")
setattr(member, "surname", "Wayne")
print getattr(member, "surname")