No, it's improper. The only right sentence is "ho già fatto colazione" to mean you had breakfast.
"Ho già preparato la colazione" is "I have already prepared breakfast".
"Fare colazione" means to eat; "preparare la colazione" means to work. They make the same difference that there's between the guest and the waiter...
No, it remains "fatto", regardless of who is speaking. When you specify what you did, it is always "fatto"; when you refer to it without specifying it, it is "fatta" or "fatto" following the gender of what you did.
I explain: "Laura, hai fatto colazione?" - "Sì, l'ho fatta / Sì, ho fatto colazione".
Hope you understand, it's not easy to explain