Will these queries return the same results?
No, you don't have to run the first query, get the results, build the second one dynamically and then run it.

And you don't need this complex second query either. The simple one will suffice:

SELECT 
    friend_id, user_id, approved
FROM
    default_friend
WHERE
    user_id = 1
  AND
    approved = 0 ;


And you don't really need the user_id and the approved in the SELECT list either. They are going to be 1 and 0 in all rows, aren't they?

So, the question is. Why don't you just keep the original, 1st query, adding only the additional condition (approved = 0) ?:

SELECT 
    friend_id
FROM
    default_friend
WHERE
    user_id = 1
  AND
    approved = 0 ;