TLM is general name it has many type of ports. There are many TLM ports avaialable - put port, get port, export and analysis port.
1) Thats simple answer - to connect one class object to another class object.
As classes does not have interface similar to module blocks to connect each other, hence we need to have some method to connect one class with another.
So we use ports.
2) I do not understand this question
Just know put port -> get port
put port -> export -> get port.
To my opinion, the UVM ports are messy.
I think it is the weak and unhappy parts in UVM....