I believe I'm tone deaf..? Let me try and explain:

If someone was playing a song that I know on piano for example and they hit the wrong key, I'd know that they hit the wrong key because it didn't sound right but I wouldn't know what that key is or whether that key is higher or lower (unless it was drastically off LOL).

And with singing I can't quite tell whether a note someone is singing is higher or lower and when I sing the same song to me I sound perfect LOLOL but my friends say otherwise HAHAHA.

If I'm playing the guitar and singing along to it - no matter what key I transpose the song to I always sing the same.... LOL and to me it sounds good HAHA.

Is this fixable? If so how should go about trying to train my ears? I've got a keyboard at home if that will help... And possibly how long will it take?

Thank you!
You might actually be tone deaf, since you say that you can't tell which of two notes is higher. I would practice some real basics with a friend to test. Have him hit notes one and two keys apart, and see if you can tell which is higher. Have him hit a note, and see if you can match it. Figure out how many notes apart two piano nots have to be for you to get which one is higher 100% of the time.

Simple, slow.

If you can't do either of those things, they you need to talk to a teacher who specializes in that. I've been told that you can train you way out of it, but I don't know for sure how.

If you're not actually tone deaf, but just have a really bad ear (and it's common for somebody with a really bad to struggle to tell, say, which of two slight-out-of-tune guitar strings is higher) then you need to train your ear, starting really simply and being patient and taking your time with basics like interval recognition, the functional ear trainer, singing scales with an instrument and checking your pitch, etc.

Don't think about stuff like singing along with your playing let. Just focus on these basics.
Ya, I think it took me a few months to learn how to hear notes, and a lot more time to hear notes at higher and lower frequencies than i was used to. You just have to apply yourself

http://www.music.vt.edu/musicdictionary/appendix/pitch/pitch.html here's an online piano with frequencies listed.

here's a page on scientific pitch notation http://en.wikipedia.org/wiki/Scientific_pitch_notation

Audacity can be a neat program because you can transpose songs up or down by any semi-tone amount you want.

musescore is also a good program because it's for composing music, which will let you hear notes you write.