What is the best practice for treating fields with only two possible values? A column/field will only have 2 possible values, either "Transplanted" or "Direct-seeding". Is it better to create a table for these options and give them unique IDs or are they better off put as raw string values in the table?
I would start with a check constraint that limits the column to those two values. 

If the table containing those values is expected to get really big (tens or hundreds of millions of rows), then using a lookup table and only storing a foreign key reference as a number might save some space and might increase performance if you don't need that value all the time. 

Plus it will make adding new values easier because you don't need to re-create the check constraint. 

If the end-user is expected to maintain the list of allowed values, then a check constraint is not an option at all.

Another thing to consider is localization (translating those labels). If you have to translate those display values into other languages, then using a lookup table is the better way to go.