Conditional To Perform Alternate Task
To enable alternate modes, you generally need a to add a BoolProperty to your operator which will represent the two modes of operation.

To control the value of this property through the F6 menu, you also need to add a Draw function to your operator. You can display the other paramters affecting your operator's behavior there if you want. This seemed to work only if the operator is launched through a Panel or Menu, not when launched from the console though. Maybe some other user here can explain why that is.

class softsharpenOperator(bpy.types.Operator):
    '''Sharpen Without Modifiers'''
    bl_idname = "ssharpen.objects"
    bl_label = "softSharpen"
    bl_options = {'REGISTER', 'UNDO'} 

    ssharpangle = FloatProperty(name="SSharpening Angle", description="Set SSharp Angle", default= 30.0, min = 0.0, max = 180.0)

    angle = FloatProperty(name="AutoSmooth Angle", description="Set AutoSmooth angle", default= 60.0, min = 0.0, max = 180.0)

    # ADD A BOOLEAN PROPERTY TO DISCERN BETWEEN THE TWO ALTERNATE MODES
    alternate_mode = BoolProperty() 

    # ADD A DRAW FUNCTION TO DISPLAY PROPERTIES ON THE F6 MENU
    def draw(self, context):
        layout = self.layout

        box = layout.box()
        # DRAW YOUR PROPERTIES IN A BOX
        box.prop( self, 'ssharpangle' )
        box.prop( self, 'angle' )
        box.prop( self, 'alternate_mode'  )

    def execute(self, context):
        if self.alternate_mode:
            # DO SOMETHING ONE WAY
        else:
            # DO IT THE OTHER WAY

        return {'FINISHED'}


If you want to play around with a simple example that works out of the box (copy and paste to a text editor and run), here's one that alternately creates a sphere or a torus, depending on whether the bool property is set to True or False (to execute the operator either call it from the console, or using the Add Mesh menu - Shift + A --> Mesh --> Test):

import bpy

class testOperator( bpy.types.Operator ):
    """This is a test"""
    bl_idname  = "mesh.test_me"
    bl_label   = "Test"
    bl_options = {'REGISTER', 'UNDO'}

    sphereOn = bpy.props.BoolProperty()

    def draw(self, context):
        layout = self.layout

        box = layout.box()
        box.prop( self, 'sphereOn'  )

    def execute( self, context ):
        if self.sphereOn:
            bpy.ops.mesh.primitive_uv_sphere_add()
        else:
            bpy.ops.mesh.primitive_torus_add()

        return {'FINISHED'}

# Operator adding function (used to inject operator to menu)
def menu_func( self, context ):
    self.layout.operator(
        "mesh.test_me",
        text = "Test",
        icon = "PLUGIN"
    )

def register():
    bpy.utils.register_module(__name__)

    # Add "Snowflake" menu to the "Add Mesh" menu
    bpy.types.INFO_MT_mesh_add.append( menu_func )

def unregister():
    bpy.utils.unregister_module(__name__)

    # Remove "Snowflake" menu from the "Add Mesh" menu.
    bpy.types.INFO_MT_mesh_add.remove( menu_func )

if __name__ == "__main__":
    register()