1) When I start a long running conversation, do I need to use JOIN every time I need to call a method to avoid a new conversation and stays in the current?
No, you only need to use 'join' if the method should start a conversation if there isn't one already, usually using <begin-conversation join="true"/> in the '.page.xml' file is a very simple way to do this.
2) After a new long running conversation starts, every component that I call inside her will be necessary to use JOIN explicity?
Not if those components are not supposed to create conversations on their own.
3) And inside a web site portal development using conversations in use cases that is necessary, how can I control the start and the end conversation avoiding Seam Debug page? What should be the best practice?
The long running conversation ID can be propagated from page to page using a URL parameter. I'm not sure how a portal environment affects this, but that's how it works in a non-portal environment.