I want to get top two rows based on ACCT_UNIT & order by status_date, if there is only one row on acct_unit, get one row.
IF more than two rows available, want to get the top two rows based on status_date.

Since we don't have your tables or data, we can not compile, run or test posted code.
It would be helpful if you provided DDL (CREATE TABLE ...) for tables involved.
It would be helpful if you provided DML (INSERT INTO ...) for test data.
It would be helpful if you followed Posting Guidelines - http://www.orafaq.com/forum/t/88153/0/311
It would be helpful if you provided expected/desired results & a detailed explanation how & why the test data gets transformed or organized.

With any SQL question, Post a working Test case: create table and insert statements along with the result you want with these data then we will be able work with your table and data. Explain with words and sentences the rules that lead to this result.

I am using an etl tool, thru that it is not possible to get the required data, looking for a query, i am not really proficient in queries: please kindly need advice on this.

Is it possible, i want to get top two rows if available based on each acct_unit and sort by status_date
If just row available on an acct_unit, want to get that one aswell, if there are more than 2 rows on an acct_unit, want to get just top rows sorted by status_date.

How is this different from your previous topic?
Why don't you feedback and answer in this previous topic?
It is useless to create a new topic, we will merge both.
Save time and answer our questions and post your tries.
I gave you how to do it, what did you try since?