In the first situation - where you're travelling together on holiday - you would simply say that the other person drives. For example, "When we go on holiday together, it's always Alex who drives" or "On long journeys, Alex and I take turns to drive". If you see this as a specific task/job, you could make a verbal noun and say "Who does the driving when you go away?" and reply "Alex does the driving".
In the second situation - where it's a short drive simply to give the passenger pleasure - you have used the correct phrase: take someone for a drive (or a ride). For example, "When my cousins came to visit, I took them for a drive the countryside". You could also say 'My friend promised to take me for a ride in his new open-top sports car."
Your other suggested phrase, 'giving me a drive', does not exist, unfortunately. We don't say that. However, you can say 'give me a ride'.
In British English, 'give me a ride' would only be used as a synonym of 'take me for a ride', as in the third example above (e.g. "My friend promised to give me a ride in his new open-top sports car"). It would tend to imply a short drive just to give you the experience of travelling in that particular vehicle.
Meanwhile, in American English, 'give me a ride' would be used to mean 'give me a lift' e.g. "If you're driving downtown, can you give me a ride?". American English does not use 'lift' in this sense, so AmE speakers use 'ride' in this context.
Note that to 'drive someone' (direct object - "My dad drove me into town") also has the same meaning as giving someone a lift. The implication is that he did this to help you.
I hope that helps.