Connect by prior - multiple fields and query efficiency
Here are some additional questions that would help me answer this question better: (1) how often is this query executed; (2) does the result set have to be returned as a single row per ID; (3) in the actual environment can one item have more than 3 levels of depth?

I am going to assume that data sample is not representative of your actual environment and that the depth of this hierarchy may go deeper than 3 levels.  In order for a single-row query to be successful in each case there must be a lot of potentially redundant SQL to account for all possible levels of depth.  If your query accounts for an item having up to 5 levels of depth, but only one of your items has that many levels then you are putting unnecessary load on the database and potentially face performance delays with long running queries.  A multi-row query could get much better performance, but that probably isn’t how you need the data returned (like below).

SELECT  H.*
FROM    HIERARCHY_TBL H
START WITH H.EQUIP_ID = '1'
CONNECT BY PRIOR H.PARENT_EQUIP_ID = H.EQUIP_ID

If this is an ad hoc query occurring infrequently then dealing with performance delay may be an acceptable option so you could stick with what you have.  If this query is executed very frequently then performance delay is going to be unacceptable by the users.

As far as suggestions, if this SQL is being executed from within an application then you could look into using dynamic SQL.  You could also check into creating a SQL profile to see if that would improve performance.  You could also create a view that does most of this leg work for you and then hit that view with your query.  The view option won’t reduce execution time, but it may help with clarity.  If the data in these tables doesn’t change very often you could also look into using a materialized view that is refreshed from time to time – this will give you a lot of performance gain, but materialized views have their own challenges and depending on the environment some DBAs may discourage their usage.

I hope this helps.