Well, careful there. You could be describing some premature optimization when you talk about fetching subsets of a single row. Kind of depends on if you are talking about a domain object contained in one table vs a record that requires joining ten tables.
At my previous job, part of our team included a prior Oracle field consultant. He educated me that when you fetch a row of data, Oracle will actually fetch the entire block all at once. Simply put, almost all the time, when someone wants one EMPLOYEE row, they will be wanting the next row pretty soon after that. It's more efficient to grab a whole bunch.
So before you tweak your code based on what you THINK is happening, do some real profiling and find out what really IS happening both in your code and the database. Run your queries through "EXPLAIN PLAIN" to see if the query is right or not and if there are ways to filter it down.
Cheers!