A really cool feature of CJA is that you can create multiple Data Views with different Sessionization settings. You could have one with the typical 30 minute timeout, another with 24 hour timeout, and another with 30-day timeout. Each would have the same info but report on "Sessions" based on the appropriate timeout period.
CJA will combine cross channel activity into a single session when they're attributed to the same person. For example, assume a 30 minute inactivity period. If a visitor goes to your website and within 30 minutes makes an in-store purchase, those would be in the same Session. This is true for when the Person ID matches or after replay for stitching.
CJA, like AA virtual report suites, also allows you to start a new Session on a certain event. For example, a Mobile App launch could start a new Session even if there's less than 30 minutes of inactivity.
I'm not clear on your other questions. If there are some specifics you could share, it'd be helpful