you just want to use begin_editing() on your textfield or textview afte you present it. It not in the docs, so don't feel bad you missed it .
To set tab order requires a but more effort-- see:
https://forum.omz-software.com/topic/4562/set-next-field-for-tab/12
For your other question, you can either walk your way up and down the view heirarchy
sender.superview.superview['panel']['label5']
or, when you set up your textfield, or button, or whatever, you could add an attribute with some key piece of info
textfield=ui.Textfield()
mainview.addsubview(textfield)
textfield.target=label
textfield.action=textfieldaction
...
#elsewhere
def textfieldaction(sender):
sender.target.title='hello'
alternatively, using a custom view class for your main view lets you access the mainview via self.
class myview(ui.View):
def __init__(self):
self.label =ui.Label()
self.add_subview(self.label)
....
def textfield_action(self, sender):
seld.label.title='hello'
That way, there is one commin place for everything that any ui element needs to know.