The <%# %> syntax is for when the component is databound. As you are setting your list items manually the component is never being "bound", so you need to kick off the databinding in the code behind anyway for the visible property to work even though you don't need it for the listitems.
protected void Page_Load(object sender, EventArgs e)
{
ddlcompanies.DataBind();
}
Also don't use static variables as they are shared across all users so if you set isVisible to a value then every person accessing the site sees it as that value and that might not be what you want.