Can the hierarchy have different levels be from the same table?
Sure. The hierarchy can show self joins so that records form the same table populate different levels of the hierarchy. For instance, you may want something like "Companies" to be your top level, and then have "Related Companies" be your second level, where both "Companies" and "Related Companies" are records from the same "Company" table in your file.
Remember, the "data" table occurrences in the hierarchy are always named "HiearchyDataLevel1", "HiearchyDataLevel2", etc. but they can point to any tables you wish: they can even all point to the same table as long as you now how to relate level 1 to level 2, etc. in a way that makes sense.
You can also use a join table between them. As an example, here is a set of data table occurrences were the level 1 and level 2 items are from the same table, "Company":