#define MAX_QUEST_OBJECTIVES 3 //Max quest objectives for a quest
I didn't check, but probably you'll have to edit all entries in db/quest_db.txt as well (to match new number of objectives)
Item objectives are usually handled by script, because there is no real need to this in another fashion.
if(countitem(512) >= 10) // has 10 apples
{
// do something (quest done)
}
else
{
// do something else (quest not done yet)
}