Note: This is a partial answer and addresses the current tabs.
Do I need root?
Yes, because you won't be able to go beyond the directory (
/data/data/com.android.chrome/app_tabs). There lies a directory named
0 which can only be accessed by the owner of that directory, which in this case is user ID assigned to Chrome app.
Each tab is represented by a file with name
<DIGITS> is natural numbers. E.g. tab199, tab200 and so on. All the URLs accessed in a tab, to-and-fro, are stored in its corresponding tab file.
tab_state contains the URLs of the resources currently displayed in all the tabs.
Note that the said info is an educated guess of mine. Those files are not in plain text but gives enough information to make a good guess.
Can it be accessed by another application like Chrome's history can be?
I don't know. If Chrome doesn't explicitly provides a mechanism then rest assured that no app can access the info about tabs directly from Chrome's data directory. They may have better luck with accessibility service however.