Scenario: user A owns the tables to be truncated, user B should be able to truncate those tables without being granted "DROP ANY TABLE" privilege.

I would recomend the following solution:

1.) Let user A create a PL/SQL procedure that truncates the desired table(s) (using dynamic PL/SQL).
2.) User A grants EXECUTE privilege on that procedure to user B

User B is now able to truncate only those selected A's tables, not *any* table in the database.

HTH,