The short answer is yes, but the way you go about this differs with the software you're using (QGIS, GDAL & OGR, SAGA, etc). I'll assume you're using ArcGIS 10.x:
If you load the shapefile twice in the same session (i.e., two Layers, both reading from the same shapefile datasource), and you set different Definition Queries on them for different fire years, you can then perform Intersection on these two layers. You can do that all via the GUI, of course, or in Python it might look something like the following:
# Two layers from the same shapefile
lyr1 = arcpy.mapping.Layer("test_lyr1")
lyr2 = arcpy.mapping.Layer("test_lyr2")
# Name the layers
lyr1.name = "lyr1"
lyr2.name = "lyr2"
# Set definition queries for each layer
lyr1.definitionQuery = '"FIREYEAR" = ' + "'2010'"
lyr2.definitionQuery = '"FIREYEAR" = ' + "'2011'"
# Perform the intersection on the named layers
# You can intersect among more than two layers at a time if
# you've got the full ArcGIS license.
arcpy.Intersect_analysis(["lyr1", "lyr2"], r"c:\aDir\Intersection.shp")