You might be able to do this with a sidebar JS hack, but that's not my realm of expertise.
Declaratively, you could have the null/non-null values of the text field trigger workflow that changes the Lead Record Type and assign different page layouts to the two record types that are identical except for their respective buttons.
A snippet of something you might do:
One option is to use a workflow field update to update the record type on the lead object. You could then use page layout assignments to show or hide the button.