Well, what I would do then, personally, is manually create either a python dictionary (https://docs.python.org/2/tutorial/datastructures.html#dictionaries) with the key being the FC name and value being the buffer distance, or create a table (in the GDB or separate) that has a field for FC name and a field for buffer distance. Then write your script to either loop through the dictionary or table and for each record, perform the buffer on that FC based on that buffer distance. If you have a wide variety of datasets that all need their own manually defined buffer distance, I don't think batch processing is what you need to be looking at, instead you should be looking at is iterating through a list and individually buffering each feature class based on it's buffer distance value.
That might look something like:
import arcpy
arcpy.env.workspace = "C:/data.gdb"
FCDict = {'Settlements':400,'Lakes':1000,'Airports':3500,'ProtectedAreas',250}
for fc in FCDict:
arcpy.Buffer_analysis(fc, "C:/output/"+fc, FCDict[fc], "FULL", "ROUND", "LIST", "Distance")
That clearly is not necessarily perfect for your situation; you'd need to customize the buffer parameters and workspaces to meet your needs, if nothing else. Hopefully that gives you a starting point though. If you have questions, let me know.